{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "81f900d4-686b-457a-ba2b-9cf5f5c76836",
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "from scipy.stats import spearmanr\n",
    "\n",
    "sns.set('talk')\n",
    "sns.set_style('whitegrid')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f7a87329-70dc-4cc3-889f-0570fd567b6a",
   "metadata": {},
   "source": [
    "# Cohort Summary Statistics"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "84df42da-7304-46d3-8009-a3f258a8f00a",
   "metadata": {},
   "source": [
    "## General cohort numbers"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "54408baa-0212-462a-958e-1da9e4fa2667",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Subject ID</th>\n",
       "      <th>Date of Birth</th>\n",
       "      <th>Gender</th>\n",
       "      <th>Birth Height (cm)</th>\n",
       "      <th>Birth Height Percentile</th>\n",
       "      <th>Birth Weight (kg)</th>\n",
       "      <th>Birth Weight Percentile</th>\n",
       "      <th>Birth Head Cir. (cm)</th>\n",
       "      <th>Birth Head Cir. Percentile</th>\n",
       "      <th>Race #1</th>\n",
       "      <th>...</th>\n",
       "      <th>Amphibian/Reptile</th>\n",
       "      <th>Bird</th>\n",
       "      <th>Other</th>\n",
       "      <th>Live on Farm?</th>\n",
       "      <th>Smokers at home?</th>\n",
       "      <th>Any medical conditions/signs/symptoms prior to study?</th>\n",
       "      <th>Condition #1</th>\n",
       "      <th>Past or Current?</th>\n",
       "      <th>Condition #2</th>\n",
       "      <th>Past or Current?.1</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>PrimaryKey</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Baby101</th>\n",
       "      <td>101</td>\n",
       "      <td>2018-01-24</td>\n",
       "      <td>Male</td>\n",
       "      <td>Not Documented</td>\n",
       "      <td>Not Documented</td>\n",
       "      <td>3.646</td>\n",
       "      <td>Not Documented</td>\n",
       "      <td>Not Documented</td>\n",
       "      <td>Not Documented</td>\n",
       "      <td>White/Caucasian</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>No</td>\n",
       "      <td>No</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Nevus</td>\n",
       "      <td>Current</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Baby102</th>\n",
       "      <td>102</td>\n",
       "      <td>2018-02-20</td>\n",
       "      <td>Male</td>\n",
       "      <td>50</td>\n",
       "      <td>50</td>\n",
       "      <td>3.35</td>\n",
       "      <td>37</td>\n",
       "      <td>34.5</td>\n",
       "      <td>25</td>\n",
       "      <td>Arab/North African</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>No</td>\n",
       "      <td>No</td>\n",
       "      <td>No</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Baby103</th>\n",
       "      <td>103</td>\n",
       "      <td>2018-02-21</td>\n",
       "      <td>Female</td>\n",
       "      <td>52</td>\n",
       "      <td>84</td>\n",
       "      <td>3.41</td>\n",
       "      <td>51</td>\n",
       "      <td>36.5</td>\n",
       "      <td>85</td>\n",
       "      <td>White/Caucasian</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>No</td>\n",
       "      <td>No</td>\n",
       "      <td>Yes</td>\n",
       "      <td>broken collar bone</td>\n",
       "      <td>Current</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Baby104</th>\n",
       "      <td>104</td>\n",
       "      <td>2018-03-12</td>\n",
       "      <td>Female</td>\n",
       "      <td>55.2</td>\n",
       "      <td>98</td>\n",
       "      <td>3.615</td>\n",
       "      <td>61</td>\n",
       "      <td>35.6</td>\n",
       "      <td>64</td>\n",
       "      <td>White/Caucasian</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>No</td>\n",
       "      <td>No</td>\n",
       "      <td>No</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Baby105</th>\n",
       "      <td>105</td>\n",
       "      <td>2018-03-30</td>\n",
       "      <td>Female</td>\n",
       "      <td>50.8</td>\n",
       "      <td>72.31</td>\n",
       "      <td>3.97</td>\n",
       "      <td>89.09</td>\n",
       "      <td>34</td>\n",
       "      <td>32.73</td>\n",
       "      <td>White/Caucasian</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>pigs</td>\n",
       "      <td>No</td>\n",
       "      <td>No</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Jaundice</td>\n",
       "      <td>Current</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 70 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "            Subject ID Date of Birth  Gender Birth Height (cm)  \\\n",
       "PrimaryKey                                                       \n",
       "Baby101            101    2018-01-24    Male    Not Documented   \n",
       "Baby102            102    2018-02-20    Male                50   \n",
       "Baby103            103    2018-02-21  Female                52   \n",
       "Baby104            104    2018-03-12  Female              55.2   \n",
       "Baby105            105    2018-03-30  Female              50.8   \n",
       "\n",
       "           Birth Height Percentile Birth Weight (kg) Birth Weight Percentile  \\\n",
       "PrimaryKey                                                                     \n",
       "Baby101             Not Documented             3.646          Not Documented   \n",
       "Baby102                         50              3.35                      37   \n",
       "Baby103                         84              3.41                      51   \n",
       "Baby104                         98             3.615                      61   \n",
       "Baby105                      72.31              3.97                   89.09   \n",
       "\n",
       "           Birth Head Cir. (cm) Birth Head Cir. Percentile  \\\n",
       "PrimaryKey                                                   \n",
       "Baby101          Not Documented             Not Documented   \n",
       "Baby102                    34.5                         25   \n",
       "Baby103                    36.5                         85   \n",
       "Baby104                    35.6                         64   \n",
       "Baby105                      34                      32.73   \n",
       "\n",
       "                       Race #1  ... Amphibian/Reptile Bird  Other  \\\n",
       "PrimaryKey                      ...                                 \n",
       "Baby101        White/Caucasian  ...               NaN  NaN    NaN   \n",
       "Baby102     Arab/North African  ...               NaN  NaN    NaN   \n",
       "Baby103        White/Caucasian  ...               NaN  NaN    NaN   \n",
       "Baby104        White/Caucasian  ...               NaN  NaN    NaN   \n",
       "Baby105        White/Caucasian  ...               NaN  NaN   pigs   \n",
       "\n",
       "           Live on Farm? Smokers at home?  \\\n",
       "PrimaryKey                                  \n",
       "Baby101               No               No   \n",
       "Baby102               No               No   \n",
       "Baby103               No               No   \n",
       "Baby104               No               No   \n",
       "Baby105               No               No   \n",
       "\n",
       "           Any medical conditions/signs/symptoms prior to study?  \\\n",
       "PrimaryKey                                                         \n",
       "Baby101                                                   Yes      \n",
       "Baby102                                                    No      \n",
       "Baby103                                                   Yes      \n",
       "Baby104                                                    No      \n",
       "Baby105                                                   Yes      \n",
       "\n",
       "                  Condition #1 Past or Current? Condition #2  \\\n",
       "PrimaryKey                                                     \n",
       "Baby101                  Nevus          Current          NaN   \n",
       "Baby102                    NaN              NaN          NaN   \n",
       "Baby103     broken collar bone          Current          NaN   \n",
       "Baby104                    NaN              NaN          NaN   \n",
       "Baby105               Jaundice          Current          NaN   \n",
       "\n",
       "           Past or Current?.1  \n",
       "PrimaryKey                     \n",
       "Baby101                   NaN  \n",
       "Baby102                   NaN  \n",
       "Baby103                   NaN  \n",
       "Baby104                   NaN  \n",
       "Baby105                   NaN  \n",
       "\n",
       "[5 rows x 70 columns]"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "participants = pd.read_csv('../data/metadata/participants.tsv', sep='\\t', index_col=0)\n",
    "participants['Date of Birth'] = pd.to_datetime(participants['Date of Birth'])\n",
    "participants.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "92b9f354-47d3-4f69-b656-013e23681212",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "101\n"
     ]
    }
   ],
   "source": [
    "print(len(participants))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ab55f860-69f6-4432-80a3-14328efff33f",
   "metadata": {},
   "source": [
    "So there are 101 enrolled babies in the study."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "e5cedab2-4684-453e-8654-4d110ef55e9a",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>BabyN</th>\n",
       "      <th>Subject</th>\n",
       "      <th>Type of Visit</th>\n",
       "      <th>Visit #</th>\n",
       "      <th>Visit Date</th>\n",
       "      <th>Age (Days)</th>\n",
       "      <th>Height (cm)</th>\n",
       "      <th>Height Percentile</th>\n",
       "      <th>Weight (kg)</th>\n",
       "      <th>Weight Percentile</th>\n",
       "      <th>...</th>\n",
       "      <th>Today HiB</th>\n",
       "      <th>Today Prevnar 13</th>\n",
       "      <th>Today Hepatitis B</th>\n",
       "      <th>Today MMR</th>\n",
       "      <th>Today Varicella</th>\n",
       "      <th>Today Hepatitis A</th>\n",
       "      <th>Today Influenza (Flu)</th>\n",
       "      <th>Today Rotavirus</th>\n",
       "      <th>Today Other</th>\n",
       "      <th>Comment</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>PrimaryKey</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Baby101_V3</th>\n",
       "      <td>Baby101</td>\n",
       "      <td>101</td>\n",
       "      <td>Enrollment, 2wk</td>\n",
       "      <td>V3</td>\n",
       "      <td>2018-02-16</td>\n",
       "      <td>23</td>\n",
       "      <td>55</td>\n",
       "      <td>65</td>\n",
       "      <td>4.423</td>\n",
       "      <td>64</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Baby102_V1</th>\n",
       "      <td>Baby102</td>\n",
       "      <td>102</td>\n",
       "      <td>Enrollment, &lt;1wk</td>\n",
       "      <td>V1</td>\n",
       "      <td>2018-02-26</td>\n",
       "      <td>6</td>\n",
       "      <td>50.8</td>\n",
       "      <td>46</td>\n",
       "      <td>3.23</td>\n",
       "      <td>20</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Baby103_V1</th>\n",
       "      <td>Baby103</td>\n",
       "      <td>103</td>\n",
       "      <td>Enrollment, &lt;1wk</td>\n",
       "      <td>V1</td>\n",
       "      <td>2018-02-26</td>\n",
       "      <td>5</td>\n",
       "      <td>52.1</td>\n",
       "      <td>82</td>\n",
       "      <td>3.416</td>\n",
       "      <td>41</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Baby104_V2</th>\n",
       "      <td>Baby104</td>\n",
       "      <td>104</td>\n",
       "      <td>Enrollment, 1wk</td>\n",
       "      <td>V2</td>\n",
       "      <td>2018-03-23</td>\n",
       "      <td>11</td>\n",
       "      <td>Not Documented</td>\n",
       "      <td>Not Documented</td>\n",
       "      <td>3.812</td>\n",
       "      <td>67</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Baby105_V1</th>\n",
       "      <td>Baby105</td>\n",
       "      <td>105</td>\n",
       "      <td>Enrollment, &lt;1wk</td>\n",
       "      <td>V1</td>\n",
       "      <td>2018-04-02</td>\n",
       "      <td>3</td>\n",
       "      <td>51.4</td>\n",
       "      <td>75.48</td>\n",
       "      <td>3.884</td>\n",
       "      <td>81.17</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 114 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "              BabyN  Subject     Type of Visit Visit #  Visit Date  \\\n",
       "PrimaryKey                                                           \n",
       "Baby101_V3  Baby101      101   Enrollment, 2wk      V3  2018-02-16   \n",
       "Baby102_V1  Baby102      102  Enrollment, <1wk      V1  2018-02-26   \n",
       "Baby103_V1  Baby103      103  Enrollment, <1wk      V1  2018-02-26   \n",
       "Baby104_V2  Baby104      104   Enrollment, 1wk      V2  2018-03-23   \n",
       "Baby105_V1  Baby105      105  Enrollment, <1wk      V1  2018-04-02   \n",
       "\n",
       "            Age (Days)     Height (cm) Height Percentile Weight (kg)  \\\n",
       "PrimaryKey                                                             \n",
       "Baby101_V3          23              55                65       4.423   \n",
       "Baby102_V1           6            50.8                46        3.23   \n",
       "Baby103_V1           5            52.1                82       3.416   \n",
       "Baby104_V2          11  Not Documented    Not Documented       3.812   \n",
       "Baby105_V1           3            51.4             75.48       3.884   \n",
       "\n",
       "           Weight Percentile  ... Today HiB Today Prevnar 13  \\\n",
       "PrimaryKey                    ...                              \n",
       "Baby101_V3                64  ...       NaN              NaN   \n",
       "Baby102_V1                20  ...       NaN              NaN   \n",
       "Baby103_V1                41  ...       NaN              NaN   \n",
       "Baby104_V2                67  ...       NaN              NaN   \n",
       "Baby105_V1             81.17  ...       NaN              NaN   \n",
       "\n",
       "           Today Hepatitis B Today MMR Today Varicella Today Hepatitis A  \\\n",
       "PrimaryKey                                                                 \n",
       "Baby101_V3               NaN       NaN             NaN               NaN   \n",
       "Baby102_V1               NaN       NaN             NaN               NaN   \n",
       "Baby103_V1               NaN       NaN             NaN               NaN   \n",
       "Baby104_V2               NaN       NaN             NaN               NaN   \n",
       "Baby105_V1               NaN       NaN             NaN               NaN   \n",
       "\n",
       "           Today Influenza (Flu) Today Rotavirus Today Other Comment  \n",
       "PrimaryKey                                                            \n",
       "Baby101_V3                   NaN             NaN         NaN     NaN  \n",
       "Baby102_V1                   NaN             NaN         NaN     NaN  \n",
       "Baby103_V1                   NaN             NaN         NaN     NaN  \n",
       "Baby104_V2                   NaN             NaN         NaN     NaN  \n",
       "Baby105_V1                   NaN             NaN         NaN     NaN  \n",
       "\n",
       "[5 rows x 114 columns]"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "visits = pd.read_csv('../data/metadata/visits.tsv', sep='\\t', index_col=0)\n",
    "visits.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "5e53814d-9d28-4390-8e89-c2a4516275a3",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Babies with samples at/after year 1: 83\n",
      "Babies with samples at/after year 2: 39\n"
     ]
    }
   ],
   "source": [
    "print('Babies with samples at/after year 1:', len(set(visits.query(\"`Age (Days)` >= 365\")['BabyN'])))\n",
    "print('Babies with samples at/after year 2:', len(set(visits.query(\"`Age (Days)` >= 730\")['BabyN'])))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7defbcd1-0a9b-4166-83c5-ff9ceb35c32c",
   "metadata": {},
   "source": [
    "Any baby with a visit after 365 days is a baby that made it on year. These babies might not actually have samples, that would be another check."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "6345dbd2-7e6b-4b9f-a881-8c01ee263b21",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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Dh3qaGO/5exm6yax37JToUIFBQUFKTo6WlOmTJHNZtOxY8f03XffeXSvEaLykaxrsmfOnMm2PetabXYPVkP2sm7EvNlDEpEp6168s2fP5vivMfagOYVtH169elVDhgzR+++/r4yMDA0cOFBDhgy57kwA++1GuVm33Chs++1/BQYGqm3btpIyL316cq8RovKRrJsA9+3bl2171vHCdLPgrQwfPlwvvPCC/vrrr2zbT548KSnznVa4uZIlSyo8PFxpaWmOm36vZbfbdeDAAUnswWudPn1ar7/+uv75z3863lr9vwrTPkxJSdEzzzyjOXPmKDg4WB9//LHjBt9rsd+ul9t1Y79lGj9+vF566SWdOnUq2/ass3RXr1716F4jROUjzZs3lyQtW7bshrYLFy5ow4YNCggI0D333JPXpeVbsbGxWrFihZYsWZJt+4IFCyRJLVq0yMOqCq6sPbh8+fIb2tauXavLly+revXqPv3L2VnFihXT4sWLtWzZMm3cuPGG9osXL2rVqlWyWCxq1qyZFyrMO3a7Xc8//7zWrFmj0qVL6+uvv77p51qy3zI5s27st0xr167V0qVLtXjx4mzbf//9d0n/fQizp/YaISofuf/++3XbbbdpzZo1mjlzpuN4SkqK3nzzTSUlJalz584qU6aMF6vMX3r27Ckp80mzf/zxh+O43W7XmDFjtGnTJlWuXFnt27f3VokFSs+ePWW1WvX5559r27ZtjuMnTpzQe++9J0l65plnvFRd/hQSEuJ4EOewYcN0/PhxR1tCQoJefPFFXb58WY8++mi2z6jxJZ999pnWrFmjkJAQffXVV4qOjr5pf/ZbJmfWjf2WKet3/4QJE657HmB6errGjh2rjRs3qnTp0urUqZOjvyf2msUojG97yMc2bNigfv36KSUlRbVq1VLFihW1detWxcfHq2bNmpoxYwYfQPw/hg4dqtmzZ8tisah27doKDw/Xzp07dfz4cZUtW1ZfffVVtp8cX1hlfWhnz549s/0U+MmTJ+vDDz+U1WrV3XffraCgIG3YsEFJSUnq0qWL3n//fS9U7X03W7fExET16dNHMTExCgoKUr169RQUFKRNmzbp8uXLql+/vqZMmeK4wdUXJSQkqEWLFkpKSlLlypVv+jFMjzzyiOPMQGHfb2bWjf2WaciQIZozZ478/PxUt25dFS9eXLt379apU6dUsmRJTZ48WbVr13b098ReKxwPkChAGjVqpLlz52rChAnauHGj9u3bp4oVK6pz587q27cvASob77zzjho3bqxZs2Zp165d2rVrlypUqKA+ffqoX79+Ob5zD9nr16+fIiIiNH36dMXExMhisSgiIkLdu3fXY4895u3y8qWiRYtq5syZjreeb968WVarVVWqVNGjjz6qnj17KiAgwNtletTGjRsdz9g5dOiQDh06lGPfGjVqOEJUYd9vZtaN/Zbp3XffVePGjfXtt98qNjZWaWlpuu222/TEE0+ob9++Nzy42hN7jTNRAAAAJnBPFAAAgAmEKAAAABMIUQAAACYQogAAAEwgRAEAAJhAiAIAADCBEAUAAGACIQoAAMAEQhQAAIAJhCjAhz377LOKjIzM8RPhs3Ps2DFVr15dkZGR+v3337VhwwZFRkYqMjJSV69eNV3LsWPHHOMcPnz4hvaLFy/qzJkzpsf3Nffdd58iIyM1d+5cj891q+8NgOwRogAf1rlzZ0nSwYMHtWPHjly9Zv78+TIMQ+XLl9ff/vY3T5bnMH36dD3wwAP666+/8mQ+AHAHPoAY8GEtWrRQmTJldPbsWS1atOimnxCfZeHChZKkjh07ys/PT9HR0VqyZIkkyd/f/K+M8PBwxzi33XbbdW0jR440PS4AeAtnogAf5u/vr0cffVSStGTJEtnt9pv237x5sw4fPiyLxaJOnTpJkoKDgxUREaGIiAiXagkICHCMUxg+YR6A7yNEAT4u65LemTNn9Mcff9y07/z58yVJTZs2VcWKFT1dGgAUaIQowMdFRESobt26kqRFixbl2C81NVU///yzpP8GL0k3vbF8+/btGjhwoNq0aaPo6Gg1bNhQXbt21eTJk5WYmHhd3+xuXv7Xv/6lyMhIR58+ffooMjJSP/zwg+PY/v379frrr+uhhx5SnTp1VL9+fXXo0EHjxo3TuXPnnFqLrPkvXbqk+fPn67HHHlPt2rV177336tlnn9XGjRtzfG1aWpq++uor/f3vf1f9+vUVHR2tNm3aaOTIkYqPj7+hf9a6de3aVfv371f37t0VFRWlJk2aaPTo0U7VvXr1avXq1Ut169ZVgwYN1Lt3b8el0ezEx8dr3Lhx6ty5s+6++27VqlVLd999t7p166Yvv/xSKSkpOb42IyNDM2bM0MMPP6yoqCg1bdpUL7744g331K1evVqRkZGqVatWjt+HlJQU1a9fX5GRkdq+fbtTXzNQEBCigEIg69Lc8uXLc/wDunLlSl26dEklS5ZU69atbznm8uXL1aNHDy1ZskQJCQmqWrWqwsLCFBMTow8//FDdunW7IUj9r8qVK6tevXqO/99ms6levXoqXbq0JGnr1q3q3LmzfvjhB8XHx6tKlSoKDw/X3r17NWnSJD322GM6efJkbpfBYfz48Xrttdd06NAhVa1aVVevXtWqVavUu3dvffHFFzf0j4+PV9euXTVixAht375dJUqUUNWqVXXy5ElNnz5djzzyiDZv3pztXOfPn9cTTzyh3bt3q2rVqkpNTVXlypVzXev8+fP11FNPKSYmRlWqVFFISIg2bNiggQMH6vXXX7+h/7Zt2/TQQw9p0qRJ2rt3r8qVK6dq1aopIyNDW7du1ejRo9W3b98cL+2+/fbbev/993XmzBnZbDalpaXp559/VteuXfX99987+t1zzz2qUKGCrl69qp9++inbsVasWKHExERFRESodu3auf6agQLDAODzEhMTjTp16hg2m81YvHhxtn2efvppw2azGcOHD7/u+B9//GHYbDbDZrMZ6enphmEYht1uN+655x7DZrMZU6ZMMa5everov3PnTqNx48aGzWYzPv/8c8fxo0ePOsY5dOjQdXNkHV+7du11x7t06WLYbDbjvffeM1JTUx3Hjxw5YjzwwAOGzWYz3n777VyvQ9Y8NpvNeOWVV4zLly8bhmEYV69eNT755BPDZrMZkZGRxubNmx2vycjIMP7+978bNpvN6N69u7F//35H26VLl4zXX3/dsNlsRqNGjYz4+Phs161169bGqVOnDMPI/F6kpKTcstaWLVs6Xt+vXz/j/Pnzjra5c+caNWvWNGw2mzF37lzH8atXrxqtW7c2bDab0b9/f+PixYuOtrS0NOPzzz93jLlq1SpH27XfG5vNZowbN85IS0szDMMwUlJSjGHDhhk2m82oVauWsW/fPsfrxo0bZ9hsNuOxxx7L9mt48sknHXsE8EWciQIKgdDQUMezorLefXets2fPau3atZKkLl263HK88+fPO57p1LVrV1mtVkdbrVq1NHDgQLVu3VolS5Z0qe64uDhJmWfSAgMDHccrVaqk1157TS1bttTtt9/u9LhRUVEaM2aMihYtKkmyWq164YUX9PDDD8swDE2cONHRd+XKldq6davKlSunqVOn6q677nK0FStWTMOHD1ft2rV14cIFTZ8+Pdv5nnnmGYWHh0vK/F4UKVIk17XecccdGj9+vEqVKuU41rlzZz399NOSpMmTJzuOx8XF6eLFiwoMDNT777+vEiVKONoCAgLUr18/VapUSZK0d+/ebOd7+OGH9dJLLzlu/i9SpIiGDBmi+vXrKz09XV9++aWjb6dOnWSxWBQbG6v9+/dfN87p06e1bt06Wa1WtW/fPtdfL1CQEKKAQiLrPqc1a9bowoUL17UtWrRIV69eVZ06dVStWrVbjlWqVCnHH+hBgwZp69atysjIcLR37dpVEydOVNeuXV2q+c4775QkDR06VOvXr1d6erqj7b777tOkSZP0zDPPOD1u79695ed346+/bt26Scq8nynrUuQvv/wiSWrdurVCQkJueI3FYnG8A3LVqlXZzle/fn2na8zSuXPnbENX1toePnxYBw4ckJQZYDdt2qRNmzZdF7qypKWlOb5vycnJ2c7Xq1evG45ZLBbHfL///rvjeKVKldSwYUNJ/31TQpYFCxYoIyNDzZo1U9myZW/1ZQIFEs+JAgqJ+vXr66677tKBAwf0888/q3v37o62H3/8UdL1N5TfjNVq1aBBg/T222/r999/1++//64SJUqoUaNGuueee9SiRQuVL1/e5ZpfffVVPffcc9q+fbv+8Y9/KCQkRA0bNlTTpk3VokULp+4tulZ0dHS2x7Nuck9PT9fx48cVGRnpOGOzatUqx5mx/3Xp0iVJ0qFDh2QYhiwWy3XtroSImjVrZnv8tttuU7FixXT58mUdOHDgujNkQUFBOnTokHbu3KkjR47o6NGj2rdvn/bs2aPU1FRJui70XqtWrVrZHs9amzNnzujSpUsqXry4pMyzURs3btSiRYv08ssvO772BQsWSMp83hjgqwhRQCHSsWNHjR07VosWLXKEqLi4OO3Zs0chISFq165drsfq2rWr7rzzTk2bNk3r1q1TQkKCli9fruXLl8tisahFixYaNmyYS2GqWbNmmjdvnqZMmaLffvtNV65ccYS2kSNHqn79+nr33XdVtWpVp8a99jLXta4903T58mVJcpyROnny5C1vYrfb7bpy5YrjMmGWoKAgp+q7Vmho6E3bLl++fN1Zpe3bt2vs2LE3vNOwVKlSat68uXbt2qVjx45lO15AQMB1l01zqiM5OdkRoh588EG99957OnnypDZs2KDGjRtrx44d2rdvn0qVKqWWLVvm+msFChpCFFCIPPbYY/r444+1ZcsWHT9+XLfffrvjLFS7du1u+gc7O40aNVKjRo2UkpKiP//8U5s2bdLq1asVGxurVatW6eTJk5o/f/4NZ2acUaNGDX300UdKT0/X9u3btWHDBq1bt05btmzR5s2b9Y9//EPLly/P9lJbTpKTk7O93JUVnCQpLCxMUubDRqXMd61ld6nL05KSknJsy6o3K9Ds379fvXv3VkpKiqpWrapOnTqpevXqioiIcNyT1a1btxxDVHp6utLS0rINUteuTdZ8UmZAfOihhzRnzhwtWrRIjRs3dpyFeuSRR3iwKnwa90QBhUiZMmXUvHlzGYahJUuWOP6vlLsbyrOkpaVp//79jmf/BAUF6d5779XAgQP1ww8/6KOPPpL037NcZtjtdh0+fFibNm2SlHmWpEGDBnr++ec1c+ZMzZw5UxaLRWfOnNG6deucGjunz+jLulwXEhLiuGG9SpUqN32NlHmWatu2bdk+L8pVWfc7/a/Dhw/rypUrkjIfDSFJX331lVJSUnTXXXdp3rx5evLJJ9W0aVNHgJIyb/g2M9+uXbskZd7onhUss2Q9QmPlypWy2+1auXLldccBX0WIAgqZrD9sK1as0ObNmxUfH69q1aqpTp06uR7jP//5j9q1a6d+/fopLS3thvamTZs6/vtWHzUjyXGmyjAMx7G//vpLDzzwgJ544gnHOwGvVbduXceZs5zu78nJvHnzsj3+7bffSpJatmzpuJk763LUkiVLcnyo5BtvvKG///3vevnll52qIzfmz5+f7RrOmDFDUuY9UxUqVJAkHT9+XFLmA1b/N+hI0tq1a3XixAlJOX9frn0WVBa73e5Ym/vuu++G9tq1a6tatWq6cOGCZsyYoRMnTqhmzZqqXr16br5EoMAiRAGFTPPmzVW2bFnFxMTo66+/lpT7G8qzNGvWTKVKldLFixf12muv6eLFi462K1euOJ7IXaFChVy92y/rUlzWH3hJql69umw2m+x2u15++WWdOnXK0ZaWlqZx48YpMTFRISEhatCggVP1L1++XP/+978dT2BPT0/XuHHjtGzZMgUGBuqFF15w9G3Xrp1sNpsuXbqkvn37XndGKjExUcOGDdO6detksVjUr18/p+rIjdjYWL355puOy3oZGRmaPn26vvnmG0nSSy+95OibddZs7dq1+vPPPx3Hsx6IOXDgQMexnB66OmPGDM2cOdMRTBMTEzV48GDFxsaqRIkSevLJJ7N9XVY4//e//y2JG8pROFiMa//pB6BQGDt2rKZMmSIp8zLZf/7zH8c9QP9rw4YN6t27t6TMP+j+/v6O43379lV6erqKFCmiO+64Q35+fjp69KiSkpIUHBysSZMmqXHjxpIyP/alVatWkjJDTNbjC6TMt9Vv2rRJgYGBqlatmnr06KHOnTtr37596tatmy5fvqyAgABVrFhRwcHBOnbsmC5duiSr1arRo0frkUceydXXnfUOM5vNpr1796pkyZKqVKmSjh49qosXL6pIkSIaNWrUDTfYHz16VE899ZQOHTokKTOsBAcH69ChQ45w88Ybb+iJJ5645brl1n333afjx4+rTZs2WrZsmUJDQ1WlShWdOnVKZ8+elcVi0aBBg/TUU085XnPixAl17NjR8QiLypUrKzQ0VMeOHVNCQoJCQkIUGRmprVu36v7779eECRMk/fd7ExAQoHvvvVerVq1S2bJlFR4ergMHDigpKUmhoaGaOHGimjRpkm2958+fV7NmzZSenq6AgACtXr062/vOAF/CmSigELr2XpXWrVvnGKBuplGjRpo7d67at2+vsmXL6tChQzpy5IjCw8P1+OOPa8mSJY4AdSsjRozQPffcI39/fx08eNARVqpWraoff/xR3bt31+23364TJ05o3759Kl68uDp16qQFCxbkOkBd67XXXtOQIUNUtmxZ7dmzR8HBwerYsaN+/PHHbN+hWKlSJf34448aPHiwateurTNnzmjv3r0KDQ1VmzZt9M0331wXoNzpySef1Lhx41SlShXt27dPaWlpatGihb755pvrApSU+diDhQsXqnv37qpcubJOnjypgwcPqkyZMnr88ce1cOFCx5mrDRs23HDTusVi0SeffKIXX3xRwcHB2rNnj4oWLarOnTtrwYIFOQYoKfNG/GbNmknKDIAEKBQGnIkCUGhknYmaNm3adfdtwT06duyo2NhYTZ48Wc2bN/d2OYDHcSYKAOCy2NhYxcbGqkKFCrr33nu9XQ6QJ3hOFADAlKNHj0rK/OzFf/3rX5IyP1Ln2s9SBHwZIQoAYMqSJUsczwSTMm/Y98YDSQFv4XIeAMCU6tWrq1y5cgoJCVHr1q315Zdf5vixMYAv4sZyAAAAEzgTBQAAYAIhCgAAwARCFAAAgAmEKAAAABMIUQAAACYQogAAAEwgRAEAAJhAiAIAADDh/wGYiHwTxDUT6wAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "visits_per_baby = visits.groupby('BabyN').size()\n",
    "_ = visits_per_baby.plot(kind='hist', bins=range(0, 30, 1))\n",
    "_ = plt.xlabel('Visits per baby')\n",
    "_ = plt.ylim(0, 15)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "c64f70ae-4a14-4780-a3ec-50f79d11897b",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Median visits per baby: 10.0\n",
      "Max visits per baby: 23\n"
     ]
    }
   ],
   "source": [
    "print(\"Median visits per baby:\", visits_per_baby.median())\n",
    "print(\"Max visits per baby:\", visits_per_baby.max())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "457643a2-0a7c-4932-a22b-90a79ab3ee3f",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>BabyN</th>\n",
       "      <th>AntibioticN</th>\n",
       "      <th>Name</th>\n",
       "      <th>Reason</th>\n",
       "      <th>Start_Date</th>\n",
       "      <th>End_Date</th>\n",
       "      <th>Duration_(days)</th>\n",
       "      <th>DateOfBirth</th>\n",
       "      <th>AgeAtStart</th>\n",
       "      <th>AgeAtEnd</th>\n",
       "      <th>Route</th>\n",
       "      <th>Age_at_start</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>PrimaryKey</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Baby134_Antibiotic1</th>\n",
       "      <td>Baby134</td>\n",
       "      <td>1</td>\n",
       "      <td>piperacillin/ tazobactam</td>\n",
       "      <td>R/O sepsis</td>\n",
       "      <td>2018-11-26</td>\n",
       "      <td>2018-11-28</td>\n",
       "      <td>2.0</td>\n",
       "      <td>2018-11-22</td>\n",
       "      <td>4.0</td>\n",
       "      <td>6.0</td>\n",
       "      <td>IV</td>\n",
       "      <td>4.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Baby134_Antibiotic2</th>\n",
       "      <td>Baby134</td>\n",
       "      <td>2</td>\n",
       "      <td>ampicillin</td>\n",
       "      <td>R/O sepsis</td>\n",
       "      <td>2018-11-26</td>\n",
       "      <td>2018-11-27</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2018-11-22</td>\n",
       "      <td>4.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>IV</td>\n",
       "      <td>4.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Baby134_Antibiotic3</th>\n",
       "      <td>Baby134</td>\n",
       "      <td>3</td>\n",
       "      <td>gentamicin</td>\n",
       "      <td>R/O sepsis</td>\n",
       "      <td>2018-11-26</td>\n",
       "      <td>2018-11-27</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2018-11-22</td>\n",
       "      <td>4.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>IV</td>\n",
       "      <td>4.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Baby134_Antibiotic4</th>\n",
       "      <td>Baby134</td>\n",
       "      <td>4</td>\n",
       "      <td>vancomycin</td>\n",
       "      <td>R/O sepsis</td>\n",
       "      <td>2018-11-26</td>\n",
       "      <td>2018-11-27</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2018-11-22</td>\n",
       "      <td>4.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>IV</td>\n",
       "      <td>4.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Baby235_Antibiotic1</th>\n",
       "      <td>Baby235</td>\n",
       "      <td>1</td>\n",
       "      <td>unknown anitbiotic(s)</td>\n",
       "      <td>R/O sepsis, later confirmed neg.</td>\n",
       "      <td>2018-06-19</td>\n",
       "      <td>Not Documented</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-06-13</td>\n",
       "      <td>6.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>6.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                       BabyN  AntibioticN                      Name  \\\n",
       "PrimaryKey                                                            \n",
       "Baby134_Antibiotic1  Baby134            1  piperacillin/ tazobactam   \n",
       "Baby134_Antibiotic2  Baby134            2                ampicillin   \n",
       "Baby134_Antibiotic3  Baby134            3                gentamicin   \n",
       "Baby134_Antibiotic4  Baby134            4                vancomycin   \n",
       "Baby235_Antibiotic1  Baby235            1     unknown anitbiotic(s)   \n",
       "\n",
       "                                               Reason Start_Date  \\\n",
       "PrimaryKey                                                         \n",
       "Baby134_Antibiotic1                        R/O sepsis 2018-11-26   \n",
       "Baby134_Antibiotic2                        R/O sepsis 2018-11-26   \n",
       "Baby134_Antibiotic3                        R/O sepsis 2018-11-26   \n",
       "Baby134_Antibiotic4                        R/O sepsis 2018-11-26   \n",
       "Baby235_Antibiotic1  R/O sepsis, later confirmed neg. 2018-06-19   \n",
       "\n",
       "                           End_Date  Duration_(days) DateOfBirth  AgeAtStart  \\\n",
       "PrimaryKey                                                                     \n",
       "Baby134_Antibiotic1      2018-11-28              2.0  2018-11-22         4.0   \n",
       "Baby134_Antibiotic2      2018-11-27              1.0  2018-11-22         4.0   \n",
       "Baby134_Antibiotic3      2018-11-27              1.0  2018-11-22         4.0   \n",
       "Baby134_Antibiotic4      2018-11-27              1.0  2018-11-22         4.0   \n",
       "Baby235_Antibiotic1  Not Documented              NaN  2018-06-13         6.0   \n",
       "\n",
       "                     AgeAtEnd Route  Age_at_start  \n",
       "PrimaryKey                                         \n",
       "Baby134_Antibiotic1       6.0    IV           4.0  \n",
       "Baby134_Antibiotic2       5.0    IV           4.0  \n",
       "Baby134_Antibiotic3       5.0    IV           4.0  \n",
       "Baby134_Antibiotic4       5.0    IV           4.0  \n",
       "Baby235_Antibiotic1       NaN   NaN           6.0  "
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "abx_usage = pd.read_csv('../data/metadata/antibiotic_usage.tsv', sep='\\t', index_col=0)\n",
    "abx_usage['Duration_(days)'] = pd.to_numeric(abx_usage['Duration_(days)'], errors='coerce')\n",
    "abx_usage['Start_Date'] = pd.to_datetime(abx_usage['Start_Date'], errors='coerce')\n",
    "abx_usage['Age_at_start'] = [(row['Start_Date'] - participants.loc[row['BabyN'], 'Date of Birth']).days for i, row in abx_usage.iterrows()]\n",
    "abx_usage.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "5488ae7e-bc4a-48e4-b7d7-1de55f439d1d",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAksAAAHHCAYAAACvJxw8AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/NK7nSAAAACXBIWXMAAA9hAAAPYQGoP6dpAABXgUlEQVR4nO3dd1gU1+I+8HdZejFYELsUXbBgwa6JRLnW2MVEwRIbmlhzY8yNGo0aeyxfu1FjIYo9ihpjCxo1CsYSFARsoKIioGABBJf5/eFvNxJ2h4VZFnZ5P89znyd358ycM8eBfTlz5oxMEAQBRERERKSRWXE3gIiIiKgkY1giIiIiEsGwRERERCSCYYmIiIhIBMMSERERkQiGJSIiIiIRDEtEREREIsyLuwHG7tq1a8jOzoaZmRmsrKyKuzlERESkg9evXyMnJwcWFhbw8vISLcuwJFF2djYEQYBSqUR6enpxN4eIiIgKIDs7O98yDEsSmZmZQalUQiaTwcbGRm/HFQQBGRkZAAAbGxvIZDK9Hbs0YP9Jxz6Ujn0oDftPOvahdhkZGRAEAWZm+c9IYliSyMrKCunp6bCxsUGdOnX0dlylUomrV68CADw8PCCXy/V27NKA/Scd+1A69qE07D/p2Ifa3bhxA+np6TpNoeEEbyIiIiIRDEtEREREIhiWiIiIiEQwLBERERGJYFgiIiIiEsGwRERERCSCYYmIiIhIBMMSERERkQiGJSIiIiIRDEtEREREIhiWiIiIiEQwLBERERGJYFgiIiIiEmFe3A0g7czMmGWJiIiKG8NSCda4cePibgIREVGpx6ELIiIiIhEcWTICA2ccQWaW0qB1WlvK8fPMLgatk4iIqCRiWDICmVlKvDZwWCIiIqK3eBuOiIiISATDEhEREZEIhiUiIiIiEQxLRERERCIYloiIiIhEMCwRERERiWBYIiIiIhLBsEREREQkgmGJiIiISATDEhEREZEIhiUiIiIiEQxLRERERCIYloiIiIhEMCwRERERiWBYIiIiIhLBsEREREQkgmGJiIiISATDEhEREZEIhiUiIiIiEQxLRERERCIYloiIiIhEMCwRERERiTAv7gbo6siRI9i2bRsiIyMhCAKqV6+Orl27YujQobC2ts5T/s8//8T69esRHR2NzMxMuLm5oX///vDz84NMJiuGMyAiIiJjZBQjSytWrMDEiRNx+fJl1K9fH61atcLTp0+xbNky+Pn5IS0tLVf54OBgDB06FBcvXkTdunXRokUL3L59G9OmTcOUKVOK6SyIiIjIGJX4kaW//voLK1euRJkyZRAUFARPT08AQHp6OsaPH48zZ85g2bJlmDFjBgDg7t27mD17Nuzt7REUFIS6desCAB4+fIghQ4Zg37598PHxQefOnYvtnIiIiMh4lPiRpV9++QUAMHLkSHVQAgBbW1uMHz8eAHDq1Cn15xs2bIBSqcTw4cPVQQkAqlSpgunTp6vLEBEREemixI8szZw5E8OGDYOTk1OebUqlEgAgl8vVn4WGhgIAOnbsmKd869at4eDggGvXriExMRHOzs5F1GoiIiIyFSU+LJmbm8Pd3T3P548ePcKCBQsAAH369AEAJCcnIyUlBRYWFnBzc8uzj1wuh5ubG/7++2/ExMToNSwJgqAOb/qgVCpzhcDipM/zMpR322yM7S8J2IfSsQ+lYf9Jxz7UThAEncuW+LD0b/Pnz8fff/+Nv//+GzKZDMOGDcPo0aMBAE+ePAEAVKhQAWZmmu8wVqxYMVdZfcnIyMDVq1f1djwzMzM0btxYb8eTIiIiAjk5OcXdjEK7du1acTfB6LEPpWMfSsP+k459WHhGF5b27t2L58+fAwAsLS2RlJSE5ORkVKxYEenp6QCgcSkBFSsrKwBQlyUiIiISY3RhKSQkBGXLlkVsbCwWL16MgwcP4sqVKzh48KB6NEmXdZQKMvymCxsbG3h4eOjteCVpuLRBgwbF3YQCUyqV6r+ivLy8SswtTWPCPpSOfSgN+0869qF2MTExyMjI0Kms0YWlypUrA3j7Bb5+/Xr07dsXsbGx2LVrF1q1agUAyMzM1Lr/69evAbx9mk6fZDKZyV6Exn5ecrnc6M+huLEPpWMfSsP+k459mFtBFqgu8UsHiLG0tESXLl0AAFFRUeoJ28nJyVpHjlRzlVRzl4iIiIjElPiwtHz5ckycOBGPHz/WuN3S0hIA8ObNGzg6OsLZ2RlZWVmIj4/PU1apVOLOnTsAoNdbZkRERGS6SnxYOnfuHI4cOYLDhw9r3H769GkAb+/FAoCPjw8A4NixYxqP9eLFC3h6eqJSpUpF1GIiIiIyJSU+LAUEBAAAVq5ciYiICPXn2dnZ+OGHHxAeHo7y5cujb9++6vJyuRzr1q3L9Sj/w4cPMXv2bADAqFGjDHcCREREZNRK/ATvHj164K+//sLOnTvxySefoHHjxihTpgxu3LiBx48fw9HREWvWrEGZMmUAAJ6enpg4cSIWL14Mf39/NG/eHNbW1ggLC0N6ejr69euHrl27FvNZERERkbEo8WEJAGbNmoWWLVsiODgYkZGRyMrKQpUqVTBkyBAMHz48z0rcgYGBcHd3x+bNmxEREQGZTAZ3d3cMGDAAvXv3LqazICIiImNkFGEJALp27VqgESFfX1/4+voWYYuIiIioNCjxc5aIiIiIihPDEhEREZEIhiUiIiIiEQxLRERERCIYloiIiIhEMCwRERERiWBYIiIiIhLBsEREREQkgmGJiIiISATDEhEREZEIhiUiIiIiEQxLRERERCIYloiIiIhEMCwRERERiWBYIiIiIhLBsEREREQkgmGJiIiISATDEhEREZEIhiUiIiIiEQxLRERERCIYloiIiIhEMCwRERERiWBYIiIiIhLBsEREREQkgmGJiIiISATDEhEREZEIhiUiIiIiEQxLRERERCIYloiIiIhEMCwRERERiWBYIiIiIhLBsEREREQkgmGJiIiISATDEhEREZEIhiUiIiIiEQxLRERERCLMi7sBujpw4AD27NmD6OhoZGRkoHz58mjZsiUCAwPh7u6eq+zOnTsxffp0rceqXbs2Dh06VNRNJiIiIhNQ4sOSIAiYNGkSDh06BHNzc3h5eaFcuXKIjo7G/v378dtvv2HVqlV4//331ftERkYCAFq0aIGKFSvmOWblypUN1n4iIiIybiU+LIWEhODQoUNwcnLChg0b4OnpCQBQKpVYvnw51q5di8mTJ+P48eOws7MD8E9YmjlzJlxdXYut7URERGT8SvycpT179gAAvvzyS3VQAgC5XI6JEyeidu3aSElJwblz5wAA2dnZiI2NhYODA1xcXIqjyURERGRCSnxYKlOmDNzd3dG0adM822QymXrkKDExEQBw69YtZGVloX79+pDJZAZtKxEREZmeEn8bbtWqVVq3KZVK9S031Twk1f93dnbGggULEBoaiocPH6Js2bL48MMP8fnnn8PZ2Vnv7RQEAUqlUm/HUyqVkMvlejueFPo8L0N5t83G2P6SgH0oHftQGvafdOxD7QRB0LlsiQ9LYrZv346EhAQ4OjqiVatWAP4JS/v374e9vT2aNm2KypUrIzIy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\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "abx_courses_per_baby_no_zeroes = abx_usage.groupby('BabyN').size()\n",
    "babies_wo_abx = set(visits_per_baby.index) - set(abx_courses_per_baby_no_zeroes.index)\n",
    "abx_courses_per_baby = pd.concat([abx_courses_per_baby_no_zeroes, pd.Series({baby: 0 for baby in babies_wo_abx})])\n",
    "_ = abx_courses_per_baby.plot(kind='hist', bins=range(0, 15, 1))\n",
    "_ = plt.xlabel('Antibotics courses per baby')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "d11d086f-d765-4572-b8f1-29c475a18173",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Babies who never took abx: 33\n",
      "Median courses of abx per baby: 1.0\n",
      "Max courses of abx per baby: 12\n"
     ]
    }
   ],
   "source": [
    "print(\"Babies who never took abx:\", (abx_courses_per_baby == 0).sum())\n",
    "print(\"Median courses of abx per baby:\", abx_courses_per_baby.median())\n",
    "print(\"Max courses of abx per baby:\", abx_courses_per_baby.max())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "ea351913-c62b-4849-9e0a-803b0f07172f",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Abx used in first week of life: 4\n",
      "Abx used in first year of life: 57\n",
      "Abx used ever: 68\n"
     ]
    }
   ],
   "source": [
    "print(\"Abx used in first week of life:\", abx_usage.query(\"Age_at_start < 7\").groupby('BabyN').ngroups)\n",
    "print(\"Abx used in first year of life:\", abx_usage.query(\"Age_at_start < 365\").groupby('BabyN').ngroups)\n",
    "print(\"Abx used ever:\", abx_usage.groupby('BabyN').ngroups)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "ffd00dbb-0870-4b25-9e89-d2f052eb74aa",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>BabyN</th>\n",
       "      <th>AntibioticN</th>\n",
       "      <th>Name</th>\n",
       "      <th>Reason</th>\n",
       "      <th>Start_Date</th>\n",
       "      <th>End_Date</th>\n",
       "      <th>Duration_(days)</th>\n",
       "      <th>DateOfBirth</th>\n",
       "      <th>AgeAtStart</th>\n",
       "      <th>AgeAtEnd</th>\n",
       "      <th>Route</th>\n",
       "      <th>Age_at_start</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>PrimaryKey</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Baby134_Antibiotic1</th>\n",
       "      <td>Baby134</td>\n",
       "      <td>1</td>\n",
       "      <td>piperacillin/ tazobactam</td>\n",
       "      <td>R/O sepsis</td>\n",
       "      <td>2018-11-26</td>\n",
       "      <td>2018-11-28</td>\n",
       "      <td>2.0</td>\n",
       "      <td>2018-11-22</td>\n",
       "      <td>4.0</td>\n",
       "      <td>6.0</td>\n",
       "      <td>IV</td>\n",
       "      <td>4.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Baby134_Antibiotic2</th>\n",
       "      <td>Baby134</td>\n",
       "      <td>2</td>\n",
       "      <td>ampicillin</td>\n",
       "      <td>R/O sepsis</td>\n",
       "      <td>2018-11-26</td>\n",
       "      <td>2018-11-27</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2018-11-22</td>\n",
       "      <td>4.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>IV</td>\n",
       "      <td>4.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Baby134_Antibiotic3</th>\n",
       "      <td>Baby134</td>\n",
       "      <td>3</td>\n",
       "      <td>gentamicin</td>\n",
       "      <td>R/O sepsis</td>\n",
       "      <td>2018-11-26</td>\n",
       "      <td>2018-11-27</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2018-11-22</td>\n",
       "      <td>4.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>IV</td>\n",
       "      <td>4.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Baby134_Antibiotic4</th>\n",
       "      <td>Baby134</td>\n",
       "      <td>4</td>\n",
       "      <td>vancomycin</td>\n",
       "      <td>R/O sepsis</td>\n",
       "      <td>2018-11-26</td>\n",
       "      <td>2018-11-27</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2018-11-22</td>\n",
       "      <td>4.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>IV</td>\n",
       "      <td>4.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Baby235_Antibiotic1</th>\n",
       "      <td>Baby235</td>\n",
       "      <td>1</td>\n",
       "      <td>unknown anitbiotic(s)</td>\n",
       "      <td>R/O sepsis, later confirmed neg.</td>\n",
       "      <td>2018-06-19</td>\n",
       "      <td>Not Documented</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-06-13</td>\n",
       "      <td>6.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>6.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Baby245_Antibiotic1</th>\n",
       "      <td>Baby245</td>\n",
       "      <td>1</td>\n",
       "      <td>ampicillin</td>\n",
       "      <td>respiratory issues, R/O sepsis at birth</td>\n",
       "      <td>2018-07-23</td>\n",
       "      <td>2018-07-26</td>\n",
       "      <td>3.0</td>\n",
       "      <td>2018-07-22</td>\n",
       "      <td>1.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>IV</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Baby245_Antibiotic2</th>\n",
       "      <td>Baby245</td>\n",
       "      <td>2</td>\n",
       "      <td>gentamicin</td>\n",
       "      <td>respiratory issues, R/O sepsis at birth</td>\n",
       "      <td>2018-07-23</td>\n",
       "      <td>2018-07-26</td>\n",
       "      <td>3.0</td>\n",
       "      <td>2018-07-22</td>\n",
       "      <td>1.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>IV</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Baby246_Antibiotic1</th>\n",
       "      <td>Baby246</td>\n",
       "      <td>1</td>\n",
       "      <td>ampicillin</td>\n",
       "      <td>maternal chorioamnionitis</td>\n",
       "      <td>2018-07-28</td>\n",
       "      <td>2018-07-31</td>\n",
       "      <td>3.0</td>\n",
       "      <td>2018-07-28</td>\n",
       "      <td>0.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>IV</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                       BabyN  AntibioticN                      Name  \\\n",
       "PrimaryKey                                                            \n",
       "Baby134_Antibiotic1  Baby134            1  piperacillin/ tazobactam   \n",
       "Baby134_Antibiotic2  Baby134            2                ampicillin   \n",
       "Baby134_Antibiotic3  Baby134            3                gentamicin   \n",
       "Baby134_Antibiotic4  Baby134            4                vancomycin   \n",
       "Baby235_Antibiotic1  Baby235            1     unknown anitbiotic(s)   \n",
       "Baby245_Antibiotic1  Baby245            1                ampicillin   \n",
       "Baby245_Antibiotic2  Baby245            2                gentamicin   \n",
       "Baby246_Antibiotic1  Baby246            1                ampicillin   \n",
       "\n",
       "                                                      Reason Start_Date  \\\n",
       "PrimaryKey                                                                \n",
       "Baby134_Antibiotic1                               R/O sepsis 2018-11-26   \n",
       "Baby134_Antibiotic2                               R/O sepsis 2018-11-26   \n",
       "Baby134_Antibiotic3                               R/O sepsis 2018-11-26   \n",
       "Baby134_Antibiotic4                               R/O sepsis 2018-11-26   \n",
       "Baby235_Antibiotic1         R/O sepsis, later confirmed neg. 2018-06-19   \n",
       "Baby245_Antibiotic1  respiratory issues, R/O sepsis at birth 2018-07-23   \n",
       "Baby245_Antibiotic2  respiratory issues, R/O sepsis at birth 2018-07-23   \n",
       "Baby246_Antibiotic1                maternal chorioamnionitis 2018-07-28   \n",
       "\n",
       "                           End_Date  Duration_(days) DateOfBirth  AgeAtStart  \\\n",
       "PrimaryKey                                                                     \n",
       "Baby134_Antibiotic1      2018-11-28              2.0  2018-11-22         4.0   \n",
       "Baby134_Antibiotic2      2018-11-27              1.0  2018-11-22         4.0   \n",
       "Baby134_Antibiotic3      2018-11-27              1.0  2018-11-22         4.0   \n",
       "Baby134_Antibiotic4      2018-11-27              1.0  2018-11-22         4.0   \n",
       "Baby235_Antibiotic1  Not Documented              NaN  2018-06-13         6.0   \n",
       "Baby245_Antibiotic1      2018-07-26              3.0  2018-07-22         1.0   \n",
       "Baby245_Antibiotic2      2018-07-26              3.0  2018-07-22         1.0   \n",
       "Baby246_Antibiotic1      2018-07-31              3.0  2018-07-28         0.0   \n",
       "\n",
       "                     AgeAtEnd Route  Age_at_start  \n",
       "PrimaryKey                                         \n",
       "Baby134_Antibiotic1       6.0    IV           4.0  \n",
       "Baby134_Antibiotic2       5.0    IV           4.0  \n",
       "Baby134_Antibiotic3       5.0    IV           4.0  \n",
       "Baby134_Antibiotic4       5.0    IV           4.0  \n",
       "Baby235_Antibiotic1       NaN   NaN           6.0  \n",
       "Baby245_Antibiotic1       4.0    IV           1.0  \n",
       "Baby245_Antibiotic2       4.0    IV           1.0  \n",
       "Baby246_Antibiotic1       3.0    IV           0.0  "
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "abx_usage.query(\"Age_at_start < 7\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "e67a2cf5-05fd-4c35-9251-50bca36e7544",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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DFOpn7PUq1cv/P3339ixYwcGDhwIDw8PVKxYEbdv38bjx49hY2OD1atXo2LFigCAKVOm4Pbt2wgNDYWXlxeaNWsGMzMzXLlyBampqWjevHme75EjIiIiklLqwxIAzJo1C23atMG2bdsQFhYGpVKJGjVqYNiwYRg5cmSeFbmtrKywZcsWbN68GYcOHcLVq1chl8vh5OSEXr16wdfXF8bGxiV4NURERGRIDCIsAYCXlxe8vLwK1dbExASjR4/G6NGj9dwrIiIiKutK/ZwlIiIiopLEsEREREQkgWGJiIiISALDEhEREZEEhiUiIiIiCQxLRERERBIYloiIiIgkMCwRERERSWBYIiIiIpLAsEREREQkgWGJiIiISALDEhEREZEEhiUiIiIiCQxLRERERBIYloiIiIgkMCwRERERSWBYIiIiIpLAsEREREQkgWGJiIiISALDEhEREZEEhiUiIiIiCQxLRERERBIYloiIiIgkMCwRERERSWBYIiIiIpLAsEREREQkgWGJiIiISALDEhEREZEEhiUiIiIiCQxLRERERBIqlHQHCuvo0aPYsmULwsLCIAgCHB0d4eXlheHDh8PMzCxf+4sXL2LdunUIDw9HRkYG6tWrh0GDBsHHxwcymawEroCIiIgMkUGMLK1YsQKTJk3CP//8g3feeQdt27bFs2fPsGzZMvj4+CAlJSVP+23btmH48OG4cuUKGjVqhNatW+Pu3bv44Ycf8P3335fQVRAREZEhKvUjS3///TdWrlyJihUrwt/fH66urgCAtLQ0TJgwAefOncOyZcswY8YMAMD9+/cxe/ZsWFlZwd/fH40aNQIAxMXFYdiwYdi7dy88PT3xwQcflNg1ERERkeEo9SNL+/btAwCMHj1aDEoAYGFhgQkTJgAATp8+LW5fv349VCoVRo4cKQYlAKhRowamT58utiEiIiIqjFI/sjRz5kyMGDEC1apVy7dPpVIBAORyubgtMDAQANCtW7d87du1awdra2vcuHEDT548gb29vZ56TURERGVFqQ9LFSpUgLOzc77t8fHxWLhwIQCgX79+AIDExEQkJSXB2NgY9erVy/cauVyOevXq4fr164iIiNBpWBIEQQxvuqBSqfKEQF3TZV8NSe7rLq810AfWVT9YV/1gXXXPEGsqCEKh25b6sPRvCxYswPXr13H9+nXIZDKMGDECY8eO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roiIiChyn0xMTDB69GiMHj26yK8lIiIiyk3rOUsymSzP4o9SrK2tuWo0ERERGRStw1KtWrUQFRWFZ8+eSbZLSUlBVFSUuM4RERERkSHQOix16dIFr1+/xvfff1/g0gCvX7/GtGnTkJWV9VZfmEtERERUUrSes+Tr64udO3fizJkz8PLyQu/eveHq6goLCwu8evUKkZGROHjwIB48eICKFStixIgRuug3ERERUbHQOixVrVoVy5cvx8SJE/Ho0SP88ssv+doIggAbGxusXLkSdnZ22p6SiIiIqNhoHZYAoHnz5jhy5Ai2b9+O06dP48GDB0hOToa5uTnq1q0LT09PDBkyBLa2tro4HREREVGx0UlYAoCKFSvCz88Pfn5+ujokERERUYnTeoI3ERERUVmms5Gl7Oxs3L9/Hy9evIBKpYIgCAW2bdmypa5OS0RERKRXOglLO3bswLJly5CcnPzGtjKZDLdu3dLFaYmIiIj0TuuwdPLkySJ9Ma3UiBMRERFRaaN1WPL39wcAtG3bFt988w2cnZ1hamqqdceIiIiISgOtw1JYWBgsLCywYsUKWFlZ6aJPRERERKWG1k/DZWVlwcnJiUGJiIiIyiStw1KdOnUQHx+vi74QERERlTpah6XevXvj2bNnOHLkiC76Q0RERFSqaD1naejQoTh37hymTZuGp0+folOnTrC3t4exsXGBrzEy4lqYREREZBi0Dksff/wxlEolXr16hQULFmDBggWS7bnOEhERERkSrcNSSEiI+M9cQ4mIiIjKGq3D0u+//66LfhARERGVSlqHpVatWumiH0RERESlkt5mWr969UpfhyYiIiIqNjoLS0lJSVi8eDE++ugjvPPOO2jZsiUA4OnTp/jkk09w4cIFXZ2KiIiIqNhofRsOAP755x98/vnneP78uTjJWyaTAQDi4uJw5coVXL16Fd9//z0+/vhjXZySiIiIqFhoPbL09OlTjBs3Ds+ePYO7uzumTZuG+vXri/vt7e3Rtm1bZGdnY+7cubh69aq2pyQiIiIqNlqHpQ0bNiAlJQU+Pj7YsWMHfH19UbFiRXF/9erVsXHjRgwaNAiCIOCPP/7Q9pRERERExUbrsHT69GmYmZnhP//5j2S7b775Bubm5hxZIiIiIoOidViKj4+Hs7MzrKysJNtZWlrCyckJz5490/aURERERMVG67BkbGyM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Q6FQSLazt7eHQqHAlStXtD0lERERUbHROixlZmYiOzu7UG1fvnwpudo3ERERUWmjdViqU6cO7t69i7CwMMl2ly5dwoMHDzhfiYiIiAyK1mGpd+/eEAQB48ePx+XLlzW2OXXqFL788kvIZDIMGTJE21MSERERFRutn4YbMmQI/vzzT4SEhGD48OGoUaMGFAoFLCws8OrVK4SHh+PJkycQBAE9e/aEl5eXLvpNREREVCy0DksmJiZYt24d5s2bh/379yM2NhaxsbF52piZmWH48OH44osvtD0dERERUbHSOiwBgLW1NebPn49JkyYhMDAQDx48wMuXL2FlZQWFQgFPT09UrlxZF6ciIiIiKlY6CUtq9vb2GDRokC4PSURERFSidBqWsrOzERYWhnv37iE1NRUff/wxsrKy8PjxYzg6OuryVERERETFQmdhac+ePVixYgWePHkibvv4448RFxcHLy8v9OjRA3PmzIGZmZmuTklERESkdzoJS4sXL8b69eshCAKMjIxgZGQElUoFAHj8+DFUKhUOHz6Mx48fY9OmTahQQacDWkRERER6o/U6S5cvX8a6detgZmaGH3/8EcHBwXB3dxf3t27dGosWLYK5uTmuXr2KHTt2aHtKIiIiomKjdVjy9/eHTCbDvHnzMGjQIFhZWeVr06tXLyxatAiCIODgwYPanpKIiIio2GgdlkJCQlC1alX06NFDst37778POzs7REVFaXtKIiIiomKjdVhKSUmBvb19odra29sjIyND21MSERERFRutw5KNjQ0ePnz4xnaCIODRo0dcnJKIiIgMitZhqVmzZnjx4gUOHz4s2W7fvn14/vw5PDw8tD0lERERUbHROix98sknEAQBs2bNwsmTJ/Ptz87Oxq5duzBr1izIZDKu8E1EREQGResFj1q2bIlRo0Zh/fr1+Pzzz2FpaYmsrCwAgI+PD6Kjo/Hq1SsIgoABAwagXbt2WneaiIiIqLjoZHXIr7/+GrVq1cKKFSuQlJQkbr958yaAnC/a9fPzw+jRo3VxOiIiIqJio7OltAcNGgRvb29cu3YNd+7cQWpqKszNzeHk5ISWLVvC3NxcV6ciIiIiKjZahyX1qNLo0aNhaWmJVq1aoVWrVrroW4Gio6PRp08f9OvXD9OnT8+3f8eOHRq3qzVo0ACHDh3SZxeJiIiojNA6LJ07dw5GRkb4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\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "abx_days_per_baby_no_zeroes = abx_usage.groupby('BabyN')['Duration_(days)'].sum()\n",
    "abx_days_per_baby = pd.concat([abx_days_per_baby_no_zeroes, pd.Series({baby: 0 for baby in babies_wo_abx})])\n",
    "_ = abx_days_per_baby.plot(kind='hist', bins=range(0, 110, 5))\n",
    "_ = plt.xlabel('Antibotics days per baby')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "fbe281b5-b39e-4ef2-9bc5-79f0535f83ac",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Median days of abx per baby: 10.0\n",
      "Max days of abx per baby: 105.0\n"
     ]
    }
   ],
   "source": [
    "print(\"Median days of abx per baby:\", abx_days_per_baby.median())\n",
    "print(\"Max days of abx per baby:\", abx_days_per_baby.max())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "bd91925e-38e6-4236-82d0-50a1fc90b1f8",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>BabyN</th>\n",
       "      <th>PT</th>\n",
       "      <th>Dip</th>\n",
       "      <th>FHA</th>\n",
       "      <th>PRN</th>\n",
       "      <th>TET</th>\n",
       "      <th>PRP (Hib)</th>\n",
       "      <th>PCV ST1</th>\n",
       "      <th>PCV ST3</th>\n",
       "      <th>PCV ST4</th>\n",
       "      <th>...</th>\n",
       "      <th>median_mmNorm</th>\n",
       "      <th>median_mmNorm_DTAPHib</th>\n",
       "      <th>median_mmNorm_PCV</th>\n",
       "      <th>PT_protected</th>\n",
       "      <th>Dip_protected</th>\n",
       "      <th>FHA_protected</th>\n",
       "      <th>PRN_protected</th>\n",
       "      <th>TET_protected</th>\n",
       "      <th>PRP (Hib)_protected</th>\n",
       "      <th>VR_group</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Baby106</td>\n",
       "      <td>2.5</td>\n",
       "      <td>0.21</td>\n",
       "      <td>11.0</td>\n",
       "      <td>2.5</td>\n",
       "      <td>0.30</td>\n",
       "      <td>0.39</td>\n",
       "      <td>141.0</td>\n",
       "      <td>35.0</td>\n",
       "      <td>56.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.061955</td>\n",
       "      <td>0.052874</td>\n",
       "      <td>0.061955</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>NVR</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Baby107</td>\n",
       "      <td>2.5</td>\n",
       "      <td>0.44</td>\n",
       "      <td>3.0</td>\n",
       "      <td>9.0</td>\n",
       "      <td>0.52</td>\n",
       "      <td>1.60</td>\n",
       "      <td>2430.0</td>\n",
       "      <td>415.0</td>\n",
       "      <td>194.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.449483</td>\n",
       "      <td>0.114018</td>\n",
       "      <td>0.958142</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>NVR</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Baby108</td>\n",
       "      <td>2.5</td>\n",
       "      <td>0.05</td>\n",
       "      <td>1.5</td>\n",
       "      <td>2.5</td>\n",
       "      <td>0.05</td>\n",
       "      <td>0.27</td>\n",
       "      <td>21.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>24.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.003102</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>LVR</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Baby109</td>\n",
       "      <td>27.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>63.0</td>\n",
       "      <td>1.35</td>\n",
       "      <td>7.02</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>0.700925</td>\n",
       "      <td>0.763049</td>\n",
       "      <td>0.486810</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>NVR</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Baby110</td>\n",
       "      <td>14.0</td>\n",
       "      <td>0.24</td>\n",
       "      <td>15.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>2.45</td>\n",
       "      <td>NaN</td>\n",
       "      <td>301.0</td>\n",
       "      <td>63.0</td>\n",
       "      <td>400.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.266219</td>\n",
       "      <td>0.284211</td>\n",
       "      <td>0.245121</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>NVR</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 49 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "     BabyN    PT   Dip   FHA   PRN   TET  PRP (Hib)  PCV ST1  PCV ST3  \\\n",
       "0  Baby106   2.5  0.21  11.0   2.5  0.30       0.39    141.0     35.0   \n",
       "1  Baby107   2.5  0.44   3.0   9.0  0.52       1.60   2430.0    415.0   \n",
       "2  Baby108   2.5  0.05   1.5   2.5  0.05       0.27     21.0      3.0   \n",
       "3  Baby109  27.0   NaN   NaN  63.0  1.35       7.02      NaN      NaN   \n",
       "4  Baby110  14.0  0.24  15.0  20.0  2.45        NaN    301.0     63.0   \n",
       "\n",
       "   PCV ST4  ...  median_mmNorm  median_mmNorm_DTAPHib  median_mmNorm_PCV  \\\n",
       "0     56.0  ...       0.061955               0.052874           0.061955   \n",
       "1    194.0  ...       0.449483               0.114018           0.958142   \n",
       "2     24.0  ...       0.000000               0.000000           0.003102   \n",
       "3      NaN  ...       0.700925               0.763049           0.486810   \n",
       "4    400.0  ...       0.266219               0.284211           0.245121   \n",
       "\n",
       "   PT_protected  Dip_protected  FHA_protected  PRN_protected  TET_protected  \\\n",
       "0         False           True           True          False           True   \n",
       "1         False           True          False           True           True   \n",
       "2         False          False          False          False          False   \n",
       "3          True          False          False           True           True   \n",
       "4          True           True           True           True           True   \n",
       "\n",
       "   PRP (Hib)_protected  VR_group  \n",
       "0                 True       NVR  \n",
       "1                 True       NVR  \n",
       "2                 True       LVR  \n",
       "3                 True       NVR  \n",
       "4                False       NVR  \n",
       "\n",
       "[5 rows x 49 columns]"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "year_one_titers = pd.read_csv('../data/vaccine_response/vaccine_response_y1.tsv', sep='\\t')\n",
    "year_one_titers.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "feeb5fe4-2fc4-483a-be82-1075929c7910",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>BabyN</th>\n",
       "      <th>PT</th>\n",
       "      <th>Dip</th>\n",
       "      <th>FHA</th>\n",
       "      <th>PRN</th>\n",
       "      <th>TET</th>\n",
       "      <th>PRP (Hib)</th>\n",
       "      <th>PCV ST1</th>\n",
       "      <th>PCV ST3</th>\n",
       "      <th>PCV ST4</th>\n",
       "      <th>...</th>\n",
       "      <th>median_mmNorm</th>\n",
       "      <th>median_mmNorm_DTAPHib</th>\n",
       "      <th>median_mmNorm_PCV</th>\n",
       "      <th>PT_protected</th>\n",
       "      <th>Dip_protected</th>\n",
       "      <th>FHA_protected</th>\n",
       "      <th>PRN_protected</th>\n",
       "      <th>TET_protected</th>\n",
       "      <th>PRP (Hib)_protected</th>\n",
       "      <th>VR_group</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Baby103</td>\n",
       "      <td>47.0</td>\n",
       "      <td>1.54</td>\n",
       "      <td>186.0</td>\n",
       "      <td>326.0</td>\n",
       "      <td>3.60</td>\n",
       "      <td>6.18</td>\n",
       "      <td>111.189953</td>\n",
       "      <td>46.960230</td>\n",
       "      <td>79.307349</td>\n",
       "      <td>...</td>\n",
       "      <td>0.190854</td>\n",
       "      <td>0.326317</td>\n",
       "      <td>0.146465</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>NVR</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Baby108</td>\n",
       "      <td>31.0</td>\n",
       "      <td>1.21</td>\n",
       "      <td>34.0</td>\n",
       "      <td>43.0</td>\n",
       "      <td>2.12</td>\n",
       "      <td>4.15</td>\n",
       "      <td>36.929565</td>\n",
       "      <td>31.828768</td>\n",
       "      <td>82.189284</td>\n",
       "      <td>...</td>\n",
       "      <td>0.168430</td>\n",
       "      <td>0.172291</td>\n",
       "      <td>0.164958</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>NVR</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Baby110</td>\n",
       "      <td>37.0</td>\n",
       "      <td>0.62</td>\n",
       "      <td>15.0</td>\n",
       "      <td>85.0</td>\n",
       "      <td>3.45</td>\n",
       "      <td>13.16</td>\n",
       "      <td>85.710344</td>\n",
       "      <td>58.493770</td>\n",
       "      <td>135.699571</td>\n",
       "      <td>...</td>\n",
       "      <td>0.298568</td>\n",
       "      <td>0.237230</td>\n",
       "      <td>0.358166</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>NVR</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Baby112</td>\n",
       "      <td>11.0</td>\n",
       "      <td>0.23</td>\n",
       "      <td>22.0</td>\n",
       "      <td>68.0</td>\n",
       "      <td>0.79</td>\n",
       "      <td>14.69</td>\n",
       "      <td>118.861585</td>\n",
       "      <td>48.999537</td>\n",
       "      <td>92.404780</td>\n",
       "      <td>...</td>\n",
       "      <td>0.358315</td>\n",
       "      <td>0.085661</td>\n",
       "      <td>0.468588</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>NVR</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Baby113</td>\n",
       "      <td>146.0</td>\n",
       "      <td>0.38</td>\n",
       "      <td>37.0</td>\n",
       "      <td>137.0</td>\n",
       "      <td>2.70</td>\n",
       "      <td>18.61</td>\n",
       "      <td>56.092263</td>\n",
       "      <td>17.140494</td>\n",
       "      <td>82.645151</td>\n",
       "      <td>...</td>\n",
       "      <td>0.221124</td>\n",
       "      <td>0.298591</td>\n",
       "      <td>0.221124</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>NVR</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 49 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "     BabyN     PT   Dip    FHA    PRN   TET  PRP (Hib)     PCV ST1    PCV ST3  \\\n",
       "0  Baby103   47.0  1.54  186.0  326.0  3.60       6.18  111.189953  46.960230   \n",
       "1  Baby108   31.0  1.21   34.0   43.0  2.12       4.15   36.929565  31.828768   \n",
       "2  Baby110   37.0  0.62   15.0   85.0  3.45      13.16   85.710344  58.493770   \n",
       "3  Baby112   11.0  0.23   22.0   68.0  0.79      14.69  118.861585  48.999537   \n",
       "4  Baby113  146.0  0.38   37.0  137.0  2.70      18.61   56.092263  17.140494   \n",
       "\n",
       "      PCV ST4  ...  median_mmNorm  median_mmNorm_DTAPHib  median_mmNorm_PCV  \\\n",
       "0   79.307349  ...       0.190854               0.326317           0.146465   \n",
       "1   82.189284  ...       0.168430               0.172291           0.164958   \n",
       "2  135.699571  ...       0.298568               0.237230           0.358166   \n",
       "3   92.404780  ...       0.358315               0.085661           0.468588   \n",
       "4   82.645151  ...       0.221124               0.298591           0.221124   \n",
       "\n",
       "   PT_protected  Dip_protected  FHA_protected  PRN_protected  TET_protected  \\\n",
       "0          True           True           True           True           True   \n",
       "1          True           True           True           True           True   \n",
       "2          True           True           True           True           True   \n",
       "3          True           True           True           True           True   \n",
       "4          True           True           True           True           True   \n",
       "\n",
       "   PRP (Hib)_protected  VR_group  \n",
       "0                 True       NVR  \n",
       "1                 True       NVR  \n",
       "2                 True       NVR  \n",
       "3                 True       NVR  \n",
       "4                 True       NVR  \n",
       "\n",
       "[5 rows x 49 columns]"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "year_two_titers = pd.read_csv('../data/vaccine_response/vaccine_response_y2.tsv', sep='\\t')\n",
    "year_two_titers.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "9b02104b-4108-442f-89ee-c6eed82ced17",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of babies with year 1 titers: 72\n",
      "Number of babies with year 2 titers: 56\n"
     ]
    }
   ],
   "source": [
    "print(\"Number of babies with year 1 titers:\", len(year_one_titers.index))\n",
    "print(\"Number of babies with year 2 titers:\", len(year_two_titers.index))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "4501a960-24d5-4f56-aa52-62d183bfdd84",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of babies with year 1 titers for DTapHib and NOT PCV: 5\n",
      "Number of babies with year 2 titers for DTapHib and NOT PCV: 1\n"
     ]
    }
   ],
   "source": [
    "print(\"Number of babies with year 1 titers for DTapHib and NOT PCV:\", pd.isna(year_one_titers['median_mmNorm_PCV']).sum())\n",
    "print(\"Number of babies with year 2 titers for DTapHib and NOT PCV:\", (pd.isna(year_two_titers[[i for i in year_two_titers.columns\n",
    "                                                                                                if i.startswith('PCV')]]).sum(axis=1) > (12 * .75)).sum())"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7482482f-a98b-4c66-b78f-c0d752a12c16",
   "metadata": {},
   "source": [
    "## Metabolomics sample numbers"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "b9240d42-fe51-4410-a96f-869c12c25b01",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>GCDCA</th>\n",
       "      <th>GDCA</th>\n",
       "      <th>GHDCA or GUDCA</th>\n",
       "      <th>CA</th>\n",
       "      <th>TCDCA</th>\n",
       "      <th>TCA</th>\n",
       "      <th>CDCA</th>\n",
       "      <th>7oxoCA</th>\n",
       "      <th>TUDCA</th>\n",
       "      <th>UDCA or HDCA</th>\n",
       "      <th>...</th>\n",
       "      <th>Uracil</th>\n",
       "      <th>Adenosine</th>\n",
       "      <th>Phenaceturic acid</th>\n",
       "      <th>N-Acetyl D-galactosamine</th>\n",
       "      <th>Pyridoxal hydrochloride</th>\n",
       "      <th>2-Deoxyuridine</th>\n",
       "      <th>Vanillic acid</th>\n",
       "      <th>Thymine</th>\n",
       "      <th>Nicotinic acid</th>\n",
       "      <th>Homocitrate</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Compound name</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>P103_V12_05052020</th>\n",
       "      <td>13165.576990</td>\n",
       "      <td>6486.205847</td>\n",
       "      <td>1037.427698</td>\n",
       "      <td>877.477368</td>\n",
       "      <td>842.441112</td>\n",
       "      <td>428.399288</td>\n",
       "      <td>412.663454</td>\n",
       "      <td>6.309238</td>\n",
       "      <td>26.103778</td>\n",
       "      <td>37.617317</td>\n",
       "      <td>...</td>\n",
       "      <td>571</td>\n",
       "      <td>112</td>\n",
       "      <td>45</td>\n",
       "      <td>90</td>\n",
       "      <td>426</td>\n",
       "      <td>1223</td>\n",
       "      <td>6865</td>\n",
       "      <td>549</td>\n",
       "      <td>217</td>\n",
       "      <td>3044</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>P106_V9_04022019</th>\n",
       "      <td>5324.081005</td>\n",
       "      <td>615.267690</td>\n",
       "      <td>1431.812977</td>\n",
       "      <td>536.910350</td>\n",
       "      <td>477.807838</td>\n",
       "      <td>761.254736</td>\n",
       "      <td>55.773899</td>\n",
       "      <td>4.142229</td>\n",
       "      <td>91.815489</td>\n",
       "      <td>19.861706</td>\n",
       "      <td>...</td>\n",
       "      <td>400</td>\n",
       "      <td>368</td>\n",
       "      <td>206</td>\n",
       "      <td>217</td>\n",
       "      <td>201</td>\n",
       "      <td>372</td>\n",
       "      <td>53</td>\n",
       "      <td>230</td>\n",
       "      <td>216</td>\n",
       "      <td>109</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>P107_A1_04152019</th>\n",
       "      <td>11967.195030</td>\n",
       "      <td>3.048386</td>\n",
       "      <td>8876.579286</td>\n",
       "      <td>884.309058</td>\n",
       "      <td>2720.613568</td>\n",
       "      <td>3492.197205</td>\n",
       "      <td>106.185518</td>\n",
       "      <td>7.807234</td>\n",
       "      <td>664.956760</td>\n",
       "      <td>113.460800</td>\n",
       "      <td>...</td>\n",
       "      <td>594</td>\n",
       "      <td>112</td>\n",
       "      <td>8</td>\n",
       "      <td>330</td>\n",
       "      <td>102</td>\n",
       "      <td>9</td>\n",
       "      <td>87</td>\n",
       "      <td>55</td>\n",
       "      <td>177</td>\n",
       "      <td>6952</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>P108_V9_04022019</th>\n",
       "      <td>117.128627</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>116.125243</td>\n",
       "      <td>29.790592</td>\n",
       "      <td>6.916959</td>\n",
       "      <td>5.775257</td>\n",
       "      <td>1.574994</td>\n",
       "      <td>0.418815</td>\n",
       "      <td>1.671431</td>\n",
       "      <td>4.996911</td>\n",
       "      <td>...</td>\n",
       "      <td>60</td>\n",
       "      <td>226</td>\n",
       "      <td>11</td>\n",
       "      <td>16</td>\n",
       "      <td>249</td>\n",
       "      <td>104</td>\n",
       "      <td>64</td>\n",
       "      <td>18</td>\n",
       "      <td>24</td>\n",
       "      <td>36</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>P108_V12_05212020</th>\n",
       "      <td>16651.224940</td>\n",
       "      <td>1707.969274</td>\n",
       "      <td>3575.590198</td>\n",
       "      <td>1277.281488</td>\n",
       "      <td>2356.663104</td>\n",
       "      <td>1109.351448</td>\n",
       "      <td>204.781749</td>\n",
       "      <td>41.696046</td>\n",
       "      <td>216.707453</td>\n",
       "      <td>107.961759</td>\n",
       "      <td>...</td>\n",
       "      <td>375</td>\n",
       "      <td>184</td>\n",
       "      <td>205</td>\n",
       "      <td>141</td>\n",
       "      <td>253</td>\n",
       "      <td>702</td>\n",
       "      <td>298</td>\n",
       "      <td>196</td>\n",
       "      <td>196</td>\n",
       "      <td>3468</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 112 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                          GCDCA         GDCA  GHDCA or GUDCA           CA  \\\n",
       "Compound name                                                               \n",
       "P103_V12_05052020  13165.576990  6486.205847     1037.427698   877.477368   \n",
       "P106_V9_04022019    5324.081005   615.267690     1431.812977   536.910350   \n",
       "P107_A1_04152019   11967.195030     3.048386     8876.579286   884.309058   \n",
       "P108_V9_04022019     117.128627     0.000000      116.125243    29.790592   \n",
       "P108_V12_05212020  16651.224940  1707.969274     3575.590198  1277.281488   \n",
       "\n",
       "                         TCDCA          TCA        CDCA     7oxoCA  \\\n",
       "Compound name                                                        \n",
       "P103_V12_05052020   842.441112   428.399288  412.663454   6.309238   \n",
       "P106_V9_04022019    477.807838   761.254736   55.773899   4.142229   \n",
       "P107_A1_04152019   2720.613568  3492.197205  106.185518   7.807234   \n",
       "P108_V9_04022019      6.916959     5.775257    1.574994   0.418815   \n",
       "P108_V12_05212020  2356.663104  1109.351448  204.781749  41.696046   \n",
       "\n",
       "                        TUDCA  UDCA or HDCA  ...  Uracil  Adenosine  \\\n",
       "Compound name                                ...                      \n",
       "P103_V12_05052020   26.103778     37.617317  ...     571        112   \n",
       "P106_V9_04022019    91.815489     19.861706  ...     400        368   \n",
       "P107_A1_04152019   664.956760    113.460800  ...     594        112   \n",
       "P108_V9_04022019     1.671431      4.996911  ...      60        226   \n",
       "P108_V12_05212020  216.707453    107.961759  ...     375        184   \n",
       "\n",
       "                   Phenaceturic acid  N-Acetyl D-galactosamine  \\\n",
       "Compound name                                                    \n",
       "P103_V12_05052020                 45                        90   \n",
       "P106_V9_04022019                 206                       217   \n",
       "P107_A1_04152019                   8                       330   \n",
       "P108_V9_04022019                  11                        16   \n",
       "P108_V12_05212020                205                       141   \n",
       "\n",
       "                   Pyridoxal hydrochloride  2-Deoxyuridine  Vanillic acid  \\\n",
       "Compound name                                                               \n",
       "P103_V12_05052020                      426            1223           6865   \n",
       "P106_V9_04022019                       201             372             53   \n",
       "P107_A1_04152019                       102               9             87   \n",
       "P108_V9_04022019                       249             104             64   \n",
       "P108_V12_05212020                      253             702            298   \n",
       "\n",
       "                   Thymine  Nicotinic acid  Homocitrate  \n",
       "Compound name                                            \n",
       "P103_V12_05052020      549             217         3044  \n",
       "P106_V9_04022019       230             216          109  \n",
       "P107_A1_04152019        55             177         6952  \n",
       "P108_V9_04022019        18              24           36  \n",
       "P108_V12_05212020      196             196         3468  \n",
       "\n",
       "[5 rows x 112 columns]"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "metab_data = pd.read_excel('../data/metabolomics_abunds.xlsx', index_col=0).fillna(0)\n",
    "metab_data[metab_data < 0] = 0\n",
    "metab_data.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "5a3dd544-5e4e-478d-bbfe-04b93d2c8892",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>BabyN</th>\n",
       "      <th>VisitCode</th>\n",
       "      <th>VisitDate</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>SampleID</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>P103_V12_05052020</th>\n",
       "      <td>103</td>\n",
       "      <td>V12</td>\n",
       "      <td>05052020</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>P106_V9_04022019</th>\n",
       "      <td>106</td>\n",
       "      <td>V9</td>\n",
       "      <td>04022019</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>P107_A1_04152019</th>\n",
       "      <td>107</td>\n",
       "      <td>A1</td>\n",
       "      <td>04152019</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>P108_V9_04022019</th>\n",
       "      <td>108</td>\n",
       "      <td>V9</td>\n",
       "      <td>04022019</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>P108_V12_05212020</th>\n",
       "      <td>108</td>\n",
       "      <td>V12</td>\n",
       "      <td>05212020</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                   BabyN VisitCode VisitDate\n",
       "SampleID                                    \n",
       "P103_V12_05052020    103       V12  05052020\n",
       "P106_V9_04022019     106        V9  04022019\n",
       "P107_A1_04152019     107        A1  04152019\n",
       "P108_V9_04022019     108        V9  04022019\n",
       "P108_V12_05212020    108       V12  05212020"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "metab_meta = pd.DataFrame([[i, int(i.split('_')[0].strip('P')), i.split('_')[1], i.split('_')[-1]]\n",
    "                            for i in metab_data.index],\n",
    "                          columns=['SampleID', 'BabyN', 'VisitCode', 'VisitDate']).set_index('SampleID')\n",
    "metab_meta.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "f924f325-dba8-4075-8a72-47e4d3fc39d1",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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xETrwIED1S73pz/9ybryyisbo8RascelBitWrFBiYqL69u1bZd7VV1+tCy64QG+88Yb++Mc/SvrpcMOTTz6pnj176p133gnq80A2bNigjh076o477vBMCwsL0w033KDzzz9ft9xyi+bNm6eYmBiNHTs2gJX6xs6dO+VwOPRf//Vf1c7v3bu3kpKStGHDhkauzDsffvihYmJi9PTTT9fpF16bNm00Y8YM9erVSx9++KFuv/32RqiyfrKysjRp0iR9+OGHOvfcczVt2jTZ7fZAl+Uza9asUXx8vGcbhIeH695779V7772n0tJS3XjjjVWW6d27tzp16qTc3NzGLrfO9uzZoy5dusjhcHimFRYWymazKSMjo9plrr76al100UXaunVrY5VZLydOnFDHjh2rnRcXF6dXX31VQ4cO1YoVKzRjxgzdddddjVxh/R06dEg9e/asNK158+a65JJLtH79erVv377a5X73u98pJyenMUqsFZdD16CoqEi//vWva5zfoUMHbd++vdK0Zs2a6dJLL9V//vMff5fXICUlJUpMTPScaPZz3bt314wZMxQWFqann35aK1asCECFvhUVFaVzzz231jEdO3bU0aNHG6mi+jl48KBSUlK82i0dGRmplJQUff31136srOGaNWump556SldeeaW++uorFRQUqGvXrnX+F+wOHTpU5TBkxReFpFq/KIL5fRkWFlblEGTFCavt2rWrcbmYmBidOHHCr7U1VJs2bbR///4a5//2t7/Vs88+K7vdrpdffllZWVmNV1wDtWrVqtq/Cdddd53S0tL0/fffV7vc/v37ddZZZ/m5ujMjuNSgZcuW2rFjh8rLy6udv2fPnmqnHz16tNpAEEyaN29e6aTcX+rZs6cmT56s8vJyTZo0SQUFBY1Yne85HI4zfnHv2rUrKD6QtWnbtq0OHjzo9XJfffWVEZd+h4WF6YknnlDbtm31/PPPq6SkJNAl+YzpXxQ1Oe+887Rp0yYdP37cM61Lly6yLEubN2+udpnS0lJt2rSpxr0ZweLSSy/V7t27tWzZshrH/OEPf9CDDz4oy7I0depUZWdnN2KF9XfZZZdpx44dVeodOHCgnnvuOZ1zzjlVlvnXv/6l3bt36w9/+ENjlVkjgksNunTpom+//VZPPfVUlXmLFy/Wvn371Llz50rTP/74Y33++edBf1m0w+FQ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\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "metab_samples_per_baby = metab_meta['VisitCode'].value_counts()\n",
    "_ = metab_samples_per_baby.plot(kind='bar')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "05841011-8072-48d8-a5f9-692aa27c5777",
   "metadata": {},
   "source": [
    "We could probably consolidate some of this by merging samples that could have been labelled based on an adjacent timepoint (i.e. sample at the V5/V6 border could be called V5 or a sick visit is called A2 but is at the V9 timepoint could be called V9)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "id": "6f7e5721-af74-4a8d-8a93-2ed88bc6a19d",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Plasma metab samples at 2 months: 45\n",
      "Plasma metab samples at 1 year: 52\n",
      "Plasma metab samples at 2 years: 49\n"
     ]
    }
   ],
   "source": [
    "print(\"Plasma metab samples at 2 months:\", metab_samples_per_baby['V5'])\n",
    "print(\"Plasma metab samples at 1 year:\", metab_samples_per_baby['V9'])\n",
    "print(\"Plasma metab samples at 2 years:\", metab_samples_per_baby['V12'])"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "dfbe17e3-1263-4e41-a54d-1205e1eccae0",
   "metadata": {},
   "source": [
    "## Proteomics sample numbers"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "id": "3458e473-f36f-4ff4-bfb7-6a59f0308fc2",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>BioID</th>\n",
       "      <th>Well</th>\n",
       "      <th>Run Number</th>\n",
       "      <th>Hospital</th>\n",
       "      <th>VisitID</th>\n",
       "      <th>Age</th>\n",
       "      <th>Draw</th>\n",
       "      <th>Matrix</th>\n",
       "      <th>Draw_Matrix</th>\n",
       "      <th>Draw_Matrix_Time</th>\n",
       "      <th>...</th>\n",
       "      <th>sp|Q6UWP8|SBSN_HUMAN</th>\n",
       "      <th>sp|Q6UXB8|PI16_HUMAN</th>\n",
       "      <th>sp|Q92736|RYR2_HUMAN</th>\n",
       "      <th>sp|Q96IY4|CBPB2_HUMAN</th>\n",
       "      <th>sp|Q96PD5|PGRP2_HUMAN</th>\n",
       "      <th>sp|Q9HDC9|APMAP_HUMAN</th>\n",
       "      <th>sp|Q9NZP8|C1RL_HUMAN</th>\n",
       "      <th>sp|Q9UBP9|GULP1_HUMAN</th>\n",
       "      <th>sp|Q9UGM5|FETUB_HUMAN</th>\n",
       "      <th>sp|Q9Y490|TLN1_HUMAN</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>LFQ intensity 005_HFX_HW_RAW_IMC_A1_106A</th>\n",
       "      <td>106A</td>\n",
       "      <td>A1</td>\n",
       "      <td>5</td>\n",
       "      <td>Well Check 02m</td>\n",
       "      <td>V5</td>\n",
       "      <td>63</td>\n",
       "      <td>Heelstick</td>\n",
       "      <td>Serum</td>\n",
       "      <td>Heelstick_Serum</td>\n",
       "      <td>V5_Heelstick_Serum</td>\n",
       "      <td>...</td>\n",
       "      <td>18.2125721</td>\n",
       "      <td>23.48308372</td>\n",
       "      <td>20.45380974</td>\n",
       "      <td>21.819561</td>\n",
       "      <td>25.08229065</td>\n",
       "      <td>20.85553551</td>\n",
       "      <td>20.4588604</td>\n",
       "      <td>28.83514977</td>\n",
       "      <td>21.02322769</td>\n",
       "      <td>20.34404564</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>LFQ intensity 006_HFX_HW_RAW_IMC_A2_209A</th>\n",
       "      <td>209A</td>\n",
       "      <td>A2</td>\n",
       "      <td>6</td>\n",
       "      <td>Well Check 02m</td>\n",
       "      <td>V5</td>\n",
       "      <td>55</td>\n",
       "      <td>Heelstick</td>\n",
       "      <td>Serum</td>\n",
       "      <td>Heelstick_Serum</td>\n",
       "      <td>V5_Heelstick_Serum</td>\n",
       "      <td>...</td>\n",
       "      <td>16.90970612</td>\n",
       "      <td>23.31561852</td>\n",
       "      <td>18.60210037</td>\n",
       "      <td>22.21127701</td>\n",
       "      <td>24.88887978</td>\n",
       "      <td>20.59141159</td>\n",
       "      <td>17.14304733</td>\n",
       "      <td>28.68237686</td>\n",
       "      <td>21.82271576</td>\n",
       "      <td>19.7013855</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>LFQ intensity 012_HFX_HW_RAW_IMC_A8_214A</th>\n",
       "      <td>214A</td>\n",
       "      <td>A8</td>\n",
       "      <td>12</td>\n",
       "      <td>Well Check 02m</td>\n",
       "      <td>V5</td>\n",
       "      <td>89</td>\n",
       "      <td>Heelstick</td>\n",
       "      <td>Serum</td>\n",
       "      <td>Heelstick_Serum</td>\n",
       "      <td>V5_Heelstick_Serum</td>\n",
       "      <td>...</td>\n",
       "      <td>13.34554386</td>\n",
       "      <td>23.58817863</td>\n",
       "      <td>18.65951729</td>\n",
       "      <td>21.8640461</td>\n",
       "      <td>25.16353798</td>\n",
       "      <td>21.04162788</td>\n",
       "      <td>18.74650764</td>\n",
       "      <td>29.10836601</td>\n",
       "      <td>19.95448685</td>\n",
       "      <td>20.4085598</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>LFQ intensity 021_HFX_HW_RAW_IMC_C3_227A</th>\n",
       "      <td>227A</td>\n",
       "      <td>C3</td>\n",
       "      <td>21</td>\n",
       "      <td>Well Check 02m</td>\n",
       "      <td>V5</td>\n",
       "      <td>57</td>\n",
       "      <td>Heelstick</td>\n",
       "      <td>Serum</td>\n",
       "      <td>Heelstick_Serum</td>\n",
       "      <td>V5_Heelstick_Serum</td>\n",
       "      <td>...</td>\n",
       "      <td>20.80704689</td>\n",
       "      <td>23.25824928</td>\n",
       "      <td>21.18655968</td>\n",
       "      <td>21.24667168</td>\n",
       "      <td>25.07989311</td>\n",
       "      <td>19.46746445</td>\n",
       "      <td>20.6216526</td>\n",
       "      <td>28.35871315</td>\n",
       "      <td>20.65556526</td>\n",
       "      <td>20.66396141</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>LFQ intensity 024_HFX_HW_RAW_IMC_C6_124A</th>\n",
       "      <td>124A</td>\n",
       "      <td>C6</td>\n",
       "      <td>24</td>\n",
       "      <td>Well Check 02m</td>\n",
       "      <td>V5</td>\n",
       "      <td>97</td>\n",
       "      <td>Heelstick</td>\n",
       "      <td>Serum</td>\n",
       "      <td>Heelstick_Serum</td>\n",
       "      <td>V5_Heelstick_Serum</td>\n",
       "      <td>...</td>\n",
       "      <td>17.50129318</td>\n",
       "      <td>23.05339622</td>\n",
       "      <td>21.60560417</td>\n",
       "      <td>21.72242355</td>\n",
       "      <td>25.20258331</td>\n",
       "      <td>19.91134644</td>\n",
       "      <td>21.13340378</td>\n",
       "      <td>28.25678444</td>\n",
       "      <td>20.77088356</td>\n",
       "      <td>20.50154495</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 267 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                                         BioID Well Run Number  \\\n",
       "LFQ intensity 005_HFX_HW_RAW_IMC_A1_106A  106A   A1          5   \n",
       "LFQ intensity 006_HFX_HW_RAW_IMC_A2_209A  209A   A2          6   \n",
       "LFQ intensity 012_HFX_HW_RAW_IMC_A8_214A  214A   A8         12   \n",
       "LFQ intensity 021_HFX_HW_RAW_IMC_C3_227A  227A   C3         21   \n",
       "LFQ intensity 024_HFX_HW_RAW_IMC_C6_124A  124A   C6         24   \n",
       "\n",
       "                                                Hospital VisitID Age  \\\n",
       "LFQ intensity 005_HFX_HW_RAW_IMC_A1_106A  Well Check 02m      V5  63   \n",
       "LFQ intensity 006_HFX_HW_RAW_IMC_A2_209A  Well Check 02m      V5  55   \n",
       "LFQ intensity 012_HFX_HW_RAW_IMC_A8_214A  Well Check 02m      V5  89   \n",
       "LFQ intensity 021_HFX_HW_RAW_IMC_C3_227A  Well Check 02m      V5  57   \n",
       "LFQ intensity 024_HFX_HW_RAW_IMC_C6_124A  Well Check 02m      V5  97   \n",
       "\n",
       "                                               Draw Matrix      Draw_Matrix  \\\n",
       "LFQ intensity 005_HFX_HW_RAW_IMC_A1_106A  Heelstick  Serum  Heelstick_Serum   \n",
       "LFQ intensity 006_HFX_HW_RAW_IMC_A2_209A  Heelstick  Serum  Heelstick_Serum   \n",
       "LFQ intensity 012_HFX_HW_RAW_IMC_A8_214A  Heelstick  Serum  Heelstick_Serum   \n",
       "LFQ intensity 021_HFX_HW_RAW_IMC_C3_227A  Heelstick  Serum  Heelstick_Serum   \n",
       "LFQ intensity 024_HFX_HW_RAW_IMC_C6_124A  Heelstick  Serum  Heelstick_Serum   \n",
       "\n",
       "                                            Draw_Matrix_Time  ...  \\\n",
       "LFQ intensity 005_HFX_HW_RAW_IMC_A1_106A  V5_Heelstick_Serum  ...   \n",
       "LFQ intensity 006_HFX_HW_RAW_IMC_A2_209A  V5_Heelstick_Serum  ...   \n",
       "LFQ intensity 012_HFX_HW_RAW_IMC_A8_214A  V5_Heelstick_Serum  ...   \n",
       "LFQ intensity 021_HFX_HW_RAW_IMC_C3_227A  V5_Heelstick_Serum  ...   \n",
       "LFQ intensity 024_HFX_HW_RAW_IMC_C6_124A  V5_Heelstick_Serum  ...   \n",
       "\n",
       "                                         sp|Q6UWP8|SBSN_HUMAN  \\\n",
       "LFQ intensity 005_HFX_HW_RAW_IMC_A1_106A           18.2125721   \n",
       "LFQ intensity 006_HFX_HW_RAW_IMC_A2_209A          16.90970612   \n",
       "LFQ intensity 012_HFX_HW_RAW_IMC_A8_214A          13.34554386   \n",
       "LFQ intensity 021_HFX_HW_RAW_IMC_C3_227A          20.80704689   \n",
       "LFQ intensity 024_HFX_HW_RAW_IMC_C6_124A          17.50129318   \n",
       "\n",
       "                                         sp|Q6UXB8|PI16_HUMAN  \\\n",
       "LFQ intensity 005_HFX_HW_RAW_IMC_A1_106A          23.48308372   \n",
       "LFQ intensity 006_HFX_HW_RAW_IMC_A2_209A          23.31561852   \n",
       "LFQ intensity 012_HFX_HW_RAW_IMC_A8_214A          23.58817863   \n",
       "LFQ intensity 021_HFX_HW_RAW_IMC_C3_227A          23.25824928   \n",
       "LFQ intensity 024_HFX_HW_RAW_IMC_C6_124A          23.05339622   \n",
       "\n",
       "                                         sp|Q92736|RYR2_HUMAN  \\\n",
       "LFQ intensity 005_HFX_HW_RAW_IMC_A1_106A          20.45380974   \n",
       "LFQ intensity 006_HFX_HW_RAW_IMC_A2_209A          18.60210037   \n",
       "LFQ intensity 012_HFX_HW_RAW_IMC_A8_214A          18.65951729   \n",
       "LFQ intensity 021_HFX_HW_RAW_IMC_C3_227A          21.18655968   \n",
       "LFQ intensity 024_HFX_HW_RAW_IMC_C6_124A          21.60560417   \n",
       "\n",
       "                                         sp|Q96IY4|CBPB2_HUMAN  \\\n",
       "LFQ intensity 005_HFX_HW_RAW_IMC_A1_106A             21.819561   \n",
       "LFQ intensity 006_HFX_HW_RAW_IMC_A2_209A           22.21127701   \n",
       "LFQ intensity 012_HFX_HW_RAW_IMC_A8_214A            21.8640461   \n",
       "LFQ intensity 021_HFX_HW_RAW_IMC_C3_227A           21.24667168   \n",
       "LFQ intensity 024_HFX_HW_RAW_IMC_C6_124A           21.72242355   \n",
       "\n",
       "                                         sp|Q96PD5|PGRP2_HUMAN  \\\n",
       "LFQ intensity 005_HFX_HW_RAW_IMC_A1_106A           25.08229065   \n",
       "LFQ intensity 006_HFX_HW_RAW_IMC_A2_209A           24.88887978   \n",
       "LFQ intensity 012_HFX_HW_RAW_IMC_A8_214A           25.16353798   \n",
       "LFQ intensity 021_HFX_HW_RAW_IMC_C3_227A           25.07989311   \n",
       "LFQ intensity 024_HFX_HW_RAW_IMC_C6_124A           25.20258331   \n",
       "\n",
       "                                         sp|Q9HDC9|APMAP_HUMAN  \\\n",
       "LFQ intensity 005_HFX_HW_RAW_IMC_A1_106A           20.85553551   \n",
       "LFQ intensity 006_HFX_HW_RAW_IMC_A2_209A           20.59141159   \n",
       "LFQ intensity 012_HFX_HW_RAW_IMC_A8_214A           21.04162788   \n",
       "LFQ intensity 021_HFX_HW_RAW_IMC_C3_227A           19.46746445   \n",
       "LFQ intensity 024_HFX_HW_RAW_IMC_C6_124A           19.91134644   \n",
       "\n",
       "                                         sp|Q9NZP8|C1RL_HUMAN  \\\n",
       "LFQ intensity 005_HFX_HW_RAW_IMC_A1_106A           20.4588604   \n",
       "LFQ intensity 006_HFX_HW_RAW_IMC_A2_209A          17.14304733   \n",
       "LFQ intensity 012_HFX_HW_RAW_IMC_A8_214A          18.74650764   \n",
       "LFQ intensity 021_HFX_HW_RAW_IMC_C3_227A           20.6216526   \n",
       "LFQ intensity 024_HFX_HW_RAW_IMC_C6_124A          21.13340378   \n",
       "\n",
       "                                         sp|Q9UBP9|GULP1_HUMAN  \\\n",
       "LFQ intensity 005_HFX_HW_RAW_IMC_A1_106A           28.83514977   \n",
       "LFQ intensity 006_HFX_HW_RAW_IMC_A2_209A           28.68237686   \n",
       "LFQ intensity 012_HFX_HW_RAW_IMC_A8_214A           29.10836601   \n",
       "LFQ intensity 021_HFX_HW_RAW_IMC_C3_227A           28.35871315   \n",
       "LFQ intensity 024_HFX_HW_RAW_IMC_C6_124A           28.25678444   \n",
       "\n",
       "                                         sp|Q9UGM5|FETUB_HUMAN  \\\n",
       "LFQ intensity 005_HFX_HW_RAW_IMC_A1_106A           21.02322769   \n",
       "LFQ intensity 006_HFX_HW_RAW_IMC_A2_209A           21.82271576   \n",
       "LFQ intensity 012_HFX_HW_RAW_IMC_A8_214A           19.95448685   \n",
       "LFQ intensity 021_HFX_HW_RAW_IMC_C3_227A           20.65556526   \n",
       "LFQ intensity 024_HFX_HW_RAW_IMC_C6_124A           20.77088356   \n",
       "\n",
       "                                         sp|Q9Y490|TLN1_HUMAN  \n",
       "LFQ intensity 005_HFX_HW_RAW_IMC_A1_106A          20.34404564  \n",
       "LFQ intensity 006_HFX_HW_RAW_IMC_A2_209A           19.7013855  \n",
       "LFQ intensity 012_HFX_HW_RAW_IMC_A8_214A           20.4085598  \n",
       "LFQ intensity 021_HFX_HW_RAW_IMC_C3_227A          20.66396141  \n",
       "LFQ intensity 024_HFX_HW_RAW_IMC_C6_124A          20.50154495  \n",
       "\n",
       "[5 rows x 267 columns]"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "proteo_data = pd.read_csv('../data/proteomics_abunds.txt', sep='\\t', index_col=0).transpose()\n",
    "proteo_data.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "id": "03c94885-81f9-4fc2-aea1-92e252e35d9b",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>BioID</th>\n",
       "      <th>Well</th>\n",
       "      <th>Run Number</th>\n",
       "      <th>Hospital</th>\n",
       "      <th>VisitCode</th>\n",
       "      <th>Age</th>\n",
       "      <th>Draw</th>\n",
       "      <th>Matrix</th>\n",
       "      <th>Draw_Matrix</th>\n",
       "      <th>Draw_Matrix_Time</th>\n",
       "      <th>Plate</th>\n",
       "      <th>Responder Status</th>\n",
       "      <th>Group_ID</th>\n",
       "      <th>Group_ID_Responder</th>\n",
       "      <th>Responder Status NVRHVR</th>\n",
       "      <th>Group_ID_Responder2Groups</th>\n",
       "      <th>BabyN</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>005_HFX_HW_RAW_IMC_A1_106A</th>\n",
       "      <td>106A</td>\n",
       "      <td>A1</td>\n",
       "      <td>5</td>\n",
       "      <td>Well Check 02m</td>\n",
       "      <td>V5</td>\n",
       "      <td>63</td>\n",
       "      <td>Heelstick</td>\n",
       "      <td>Serum</td>\n",
       "      <td>Heelstick_Serum</td>\n",
       "      <td>V5_Heelstick_Serum</td>\n",
       "      <td>1</td>\n",
       "      <td>LVR</td>\n",
       "      <td>V5_Heelstick_Serum_LVR</td>\n",
       "      <td>V5_Heelstick_Serum_LVR</td>\n",
       "      <td>NVR</td>\n",
       "      <td>V5_Heelstick_Serum_NVR</td>\n",
       "      <td>106</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>006_HFX_HW_RAW_IMC_A2_209A</th>\n",
       "      <td>209A</td>\n",
       "      <td>A2</td>\n",
       "      <td>6</td>\n",
       "      <td>Well Check 02m</td>\n",
       "      <td>V5</td>\n",
       "      <td>55</td>\n",
       "      <td>Heelstick</td>\n",
       "      <td>Serum</td>\n",
       "      <td>Heelstick_Serum</td>\n",
       "      <td>V5_Heelstick_Serum</td>\n",
       "      <td>1</td>\n",
       "      <td>NVR</td>\n",
       "      <td>V5_Heelstick_Serum_NVR</td>\n",
       "      <td>V5_Heelstick_Serum_NVR</td>\n",
       "      <td>NVR</td>\n",
       "      <td>V5_Heelstick_Serum_NVR</td>\n",
       "      <td>209</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>012_HFX_HW_RAW_IMC_A8_214A</th>\n",
       "      <td>214A</td>\n",
       "      <td>A8</td>\n",
       "      <td>12</td>\n",
       "      <td>Well Check 02m</td>\n",
       "      <td>V5</td>\n",
       "      <td>89</td>\n",
       "      <td>Heelstick</td>\n",
       "      <td>Serum</td>\n",
       "      <td>Heelstick_Serum</td>\n",
       "      <td>V5_Heelstick_Serum</td>\n",
       "      <td>1</td>\n",
       "      <td>HVR</td>\n",
       "      <td>V5_Heelstick_Serum_HVR</td>\n",
       "      <td>V5_Heelstick_Serum_HVR</td>\n",
       "      <td>HVR</td>\n",
       "      <td>V5_Heelstick_Serum_HVR</td>\n",
       "      <td>214</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>021_HFX_HW_RAW_IMC_C3_227A</th>\n",
       "      <td>227A</td>\n",
       "      <td>C3</td>\n",
       "      <td>21</td>\n",
       "      <td>Well Check 02m</td>\n",
       "      <td>V5</td>\n",
       "      <td>57</td>\n",
       "      <td>Heelstick</td>\n",
       "      <td>Serum</td>\n",
       "      <td>Heelstick_Serum</td>\n",
       "      <td>V5_Heelstick_Serum</td>\n",
       "      <td>1</td>\n",
       "      <td>HVR</td>\n",
       "      <td>V5_Heelstick_Serum_HVR</td>\n",
       "      <td>V5_Heelstick_Serum_HVR</td>\n",
       "      <td>HVR</td>\n",
       "      <td>V5_Heelstick_Serum_HVR</td>\n",
       "      <td>226</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>024_HFX_HW_RAW_IMC_C6_124A</th>\n",
       "      <td>124A</td>\n",
       "      <td>C6</td>\n",
       "      <td>24</td>\n",
       "      <td>Well Check 02m</td>\n",
       "      <td>V5</td>\n",
       "      <td>97</td>\n",
       "      <td>Heelstick</td>\n",
       "      <td>Serum</td>\n",
       "      <td>Heelstick_Serum</td>\n",
       "      <td>V5_Heelstick_Serum</td>\n",
       "      <td>1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>V5_Heelstick_Serum_NA</td>\n",
       "      <td>V5_Heelstick_Serum_NA</td>\n",
       "      <td>NaN</td>\n",
       "      <td>V5_Heelstick_Serum_NA</td>\n",
       "      <td>124</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                           BioID Well Run Number        Hospital VisitCode  \\\n",
       "005_HFX_HW_RAW_IMC_A1_106A  106A   A1          5  Well Check 02m        V5   \n",
       "006_HFX_HW_RAW_IMC_A2_209A  209A   A2          6  Well Check 02m        V5   \n",
       "012_HFX_HW_RAW_IMC_A8_214A  214A   A8         12  Well Check 02m        V5   \n",
       "021_HFX_HW_RAW_IMC_C3_227A  227A   C3         21  Well Check 02m        V5   \n",
       "024_HFX_HW_RAW_IMC_C6_124A  124A   C6         24  Well Check 02m        V5   \n",
       "\n",
       "                           Age       Draw Matrix      Draw_Matrix  \\\n",
       "005_HFX_HW_RAW_IMC_A1_106A  63  Heelstick  Serum  Heelstick_Serum   \n",
       "006_HFX_HW_RAW_IMC_A2_209A  55  Heelstick  Serum  Heelstick_Serum   \n",
       "012_HFX_HW_RAW_IMC_A8_214A  89  Heelstick  Serum  Heelstick_Serum   \n",
       "021_HFX_HW_RAW_IMC_C3_227A  57  Heelstick  Serum  Heelstick_Serum   \n",
       "024_HFX_HW_RAW_IMC_C6_124A  97  Heelstick  Serum  Heelstick_Serum   \n",
       "\n",
       "                              Draw_Matrix_Time Plate Responder Status  \\\n",
       "005_HFX_HW_RAW_IMC_A1_106A  V5_Heelstick_Serum     1              LVR   \n",
       "006_HFX_HW_RAW_IMC_A2_209A  V5_Heelstick_Serum     1              NVR   \n",
       "012_HFX_HW_RAW_IMC_A8_214A  V5_Heelstick_Serum     1              HVR   \n",
       "021_HFX_HW_RAW_IMC_C3_227A  V5_Heelstick_Serum     1              HVR   \n",
       "024_HFX_HW_RAW_IMC_C6_124A  V5_Heelstick_Serum     1              NaN   \n",
       "\n",
       "                                          Group_ID      Group_ID_Responder  \\\n",
       "005_HFX_HW_RAW_IMC_A1_106A  V5_Heelstick_Serum_LVR  V5_Heelstick_Serum_LVR   \n",
       "006_HFX_HW_RAW_IMC_A2_209A  V5_Heelstick_Serum_NVR  V5_Heelstick_Serum_NVR   \n",
       "012_HFX_HW_RAW_IMC_A8_214A  V5_Heelstick_Serum_HVR  V5_Heelstick_Serum_HVR   \n",
       "021_HFX_HW_RAW_IMC_C3_227A  V5_Heelstick_Serum_HVR  V5_Heelstick_Serum_HVR   \n",
       "024_HFX_HW_RAW_IMC_C6_124A   V5_Heelstick_Serum_NA   V5_Heelstick_Serum_NA   \n",
       "\n",
       "                           Responder Status NVRHVR Group_ID_Responder2Groups  \\\n",
       "005_HFX_HW_RAW_IMC_A1_106A                     NVR    V5_Heelstick_Serum_NVR   \n",
       "006_HFX_HW_RAW_IMC_A2_209A                     NVR    V5_Heelstick_Serum_NVR   \n",
       "012_HFX_HW_RAW_IMC_A8_214A                     HVR    V5_Heelstick_Serum_HVR   \n",
       "021_HFX_HW_RAW_IMC_C3_227A                     HVR    V5_Heelstick_Serum_HVR   \n",
       "024_HFX_HW_RAW_IMC_C6_124A                     NaN     V5_Heelstick_Serum_NA   \n",
       "\n",
       "                            BabyN  \n",
       "005_HFX_HW_RAW_IMC_A1_106A    106  \n",
       "006_HFX_HW_RAW_IMC_A2_209A    209  \n",
       "012_HFX_HW_RAW_IMC_A8_214A    214  \n",
       "021_HFX_HW_RAW_IMC_C3_227A    226  \n",
       "024_HFX_HW_RAW_IMC_C6_124A    124  "
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "proteo_meta = proteo_data.loc[[i for i in proteo_data.index if i.startswith('LFQ intensity')],\n",
    "                               proteo_data.columns[:list(proteo_data.columns).index('Subject ID')+1]]\n",
    "proteo_meta.index = [i.split()[-1] for i in proteo_meta.index]\n",
    "column_name_replacements = {'Subject ID': 'BabyN', 'VisitID': 'VisitCode'}\n",
    "proteo_meta.columns = [i if i not in column_name_replacements else column_name_replacements[i] for i in proteo_meta.columns]\n",
    "proteo_meta['BabyN'] = [int(i) for i in proteo_meta['BabyN']]\n",
    "proteo_meta.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "id": "24545491-dacc-4d90-9198-3917c9e3c2a4",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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hg0bdOONN+rw4cOtPuN9+vTRvffeq5ycnFCMix6EU0UwxjvvvKOXX35ZMTExuuuuu/Tee++pqqpK7733nm644QZZlqXbb79dX331VahHBdCBZcuW6cUXX1T//v19IXL48GHddNNNOnTokH71q19p0aJFevvtt7VkyRLl5eXJ6/Xqvvvu0+effx7i6RFqnCqCMUpKSmSz2fT444/rV7/6le/x0047TbfccotSUlJUWFio5557rtWRGgA9x9KlSxUREaGSkhKlpKRI+ukU8A8//KDJkydrwYIFvrXJyckaNWqUMjIydMMNN6i4uFgjRowI1ejoATjiAmNs375dKSkpLaLlWOPHj1daWpo+++yzEzwZAH/s3LlTI0aM8EWLJNXU1Mhms6mgoKDN54wdO1bnn3++tmzZcqLGRA9FuMAYTqdTp59+eodrhg4dqh9++OEETQSgK+x2u/r27dvisaioKElSbGxsu8+Li4vTf//736DOhp6PcIExUlJS9O9//7vDNTt27NBJJ510giYC0BVnnXWWNmzYoB9//NH32IgRI+T1erVx48Y2n+NyubRhwwYNHTr0RI2JHopwQY/1ySef6I477tALL7ygjRs3aurUqdq2bZs+/fTTNtc/99xz2rNnjy666KITPCkAf0yaNEmHDh3SDTfc4DtCetlll+lnP/uZ5s+fr2+++abF+h9//FG33XabDh06pCuuuCIUI6MH4XZo9EgXX3yx6uvrJUk2m03ST4eXLctS//79tXz5ciUmJkr66W6j0tJSbdiwQQ6HQ8uWLVNaWlrIZgfQsaNHj+qaa67Rhg0bdNJJJ2nKlCm68MILZVmW7rvvPh05ckSXXnqphg4dqrq6On300Uc6ePCgTj/9dJWVlalfv36h/hEQQoQLeqz6+npVV1f7/tq6dau+/fZb2Ww2ffzxxxo8eLAk6dZbb9WKFSsUFRWloqIiTZo0KcSTAzget9utRx55REuXLpVlWb4/oEiS1+v1/X3zf6IuvPBCPfroo5wqAuGCnunYf3Ed68CBA9q6dasuvvhi32OvvPKK6urqlJ2drVNPPfVEjgmgC479fNfX1+vdd9/VF198oT179ujHH39UQ0ODnE6nYmNjlZKSorFjxyojIyPEU6OnIFzQI40dO1bZ2dnKyclRfHx8qMcBEEB8vtEdhAt6pNTUVNlsNtntdmVmZmr69Om65JJL2jwKA8AsfL7RHYQLeqTy8nK99tprWrVqlY4ePSqbzaaEhATl5ORo6tSp/CkNMBifb3QH4YIe7cCBA1q+fLnKysr05ZdfymazyeFwtPhTGgAz8flGVxAuMEZlZaVee+01rVixQocPH5bNZtOQIUM0bdo0TZkyRXFxcaEeEUAX8flGZxEuME5jY6P+9a9/6fXXX9e6devk9XoVERGhSy+9VNOnT29xxxEAs/D5xvEQLjBabW2tysrK9M4772jXrl2y2Ww69dRT9f7774d6NADdxOcbbSFc0Cu43W4VFxdr0aJFsixL27ZtC/VIAAKEzzeOFRHqAYCusixLH3/8sZYvX65Vq1bJ4/HI6/XyRVVAL8DnG+3hiAuMU11drTfeeEPvvPOODhw4IK/Xq0GDBunqq6/WtGnTdMYZZ4R6RABdxOcbx8MRFxihrq5Ob775ppYvX66dO3f6vjJ89OjRmjZtmi677DJFRLA7Aybi8w1/sCegx/J4PHr33Xe1fPlyrV27Vk1NTfJ6vRo8eLCmTJminJwcfuEaYCg+3+gqThWhR7rrrru0cuVKud1ueb1e2e12XXzxxZo2bZouvfRSORyOUI8IoIv4fKM7CBf0SKmpqZKkhIQETZ06VdnZ2RoyZEiIpwIQCHy+0R2cKkKP1PxlU5dcconsdnuoxwEQQHy+0R0ccQEAAMYgdQEAgDEIFwAAYAzCBQAAGINwAQAAxiBcAACAMQgXAABgDMIFAAAY4/8BI6hyWnr4/2QAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "proteo_samples_per_baby = proteo_meta['VisitCode'].value_counts()\n",
    "_ = proteo_samples_per_baby.plot(kind='bar')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "id": "b2e1e13a-231a-465d-9d5e-051ac0c3b18e",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Plasma proteome samples at 2 months: 54\n"
     ]
    }
   ],
   "source": [
    "print(\"Plasma proteome samples at 2 months:\", proteo_samples_per_baby['V5'])"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "700f950c-ad57-40d4-a167-5e637dcaf0ea",
   "metadata": {},
   "source": [
    "## Stool sample numbers"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "id": "a5a2d56d-5e83-43c0-998c-ac498e20dad3",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>SubmissionType</th>\n",
       "      <th>SampleNumber</th>\n",
       "      <th>SampleIDValidation</th>\n",
       "      <th>DiversigenCheckInSampleName</th>\n",
       "      <th>BoxLocation</th>\n",
       "      <th>SampleType</th>\n",
       "      <th>SampleSource</th>\n",
       "      <th>SequencingType</th>\n",
       "      <th>BabyN</th>\n",
       "      <th>BabyN_checked</th>\n",
       "      <th>...</th>\n",
       "      <th>VisitCodeTimeEquivalent</th>\n",
       "      <th>VisitCode_or_TimeEquivalent_checked</th>\n",
       "      <th>OutputFileName</th>\n",
       "      <th>Plate</th>\n",
       "      <th>Row</th>\n",
       "      <th>Column</th>\n",
       "      <th>age_at_collection</th>\n",
       "      <th>collection_method</th>\n",
       "      <th>Count</th>\n",
       "      <th>gt_2.5</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>SampleID</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>204_V5</th>\n",
       "      <td>Primary in Tube</td>\n",
       "      <td>1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>204_S</td>\n",
       "      <td>Box 7, A1</td>\n",
       "      <td>Stool</td>\n",
       "      <td>Human Infant</td>\n",
       "      <td>MetaG</td>\n",
       "      <td>204</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>2 months</td>\n",
       "      <td>NaN</td>\n",
       "      <td>204_V5</td>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>8</td>\n",
       "      <td>67.0</td>\n",
       "      <td>Home</td>\n",
       "      <td>3628514</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>226_V1</th>\n",
       "      <td>Primary in Tube</td>\n",
       "      <td>2</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Box 7, A2</td>\n",
       "      <td>Stool</td>\n",
       "      <td>Human Infant</td>\n",
       "      <td>MetaG</td>\n",
       "      <td>226</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>1-6 days</td>\n",
       "      <td>NaN</td>\n",
       "      <td>226_V1</td>\n",
       "      <td>5</td>\n",
       "      <td>5</td>\n",
       "      <td>2</td>\n",
       "      <td>4.0</td>\n",
       "      <td>Clinic</td>\n",
       "      <td>3363490</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>107_V3</th>\n",
       "      <td>Primary in Tube</td>\n",
       "      <td>3</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Box 7, A3</td>\n",
       "      <td>Stool</td>\n",
       "      <td>Human Infant</td>\n",
       "      <td>MetaG</td>\n",
       "      <td>107</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>2 weeks</td>\n",
       "      <td>NaN</td>\n",
       "      <td>107_V3</td>\n",
       "      <td>7</td>\n",
       "      <td>3</td>\n",
       "      <td>7</td>\n",
       "      <td>18.0</td>\n",
       "      <td>Home</td>\n",
       "      <td>3350273</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>108_V3</th>\n",
       "      <td>Primary in Tube</td>\n",
       "      <td>4</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Box 7, A4</td>\n",
       "      <td>Stool</td>\n",
       "      <td>Human Infant</td>\n",
       "      <td>MetaG</td>\n",
       "      <td>108</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>2 weeks</td>\n",
       "      <td>NaN</td>\n",
       "      <td>108_V3</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>16.0</td>\n",
       "      <td>Home</td>\n",
       "      <td>5095831</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>109_V1</th>\n",
       "      <td>Primary in Tube</td>\n",
       "      <td>5</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Box 7, A5</td>\n",
       "      <td>Stool</td>\n",
       "      <td>Human Infant</td>\n",
       "      <td>MetaG</td>\n",
       "      <td>109</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>1-6 days</td>\n",
       "      <td>NaN</td>\n",
       "      <td>109_V1</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>12</td>\n",
       "      <td>3.0</td>\n",
       "      <td>Home</td>\n",
       "      <td>4963525</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 25 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "           SubmissionType  SampleNumber  SampleIDValidation  \\\n",
       "SampleID                                                      \n",
       "204_V5    Primary in Tube             1                 NaN   \n",
       "226_V1    Primary in Tube             2                 NaN   \n",
       "107_V3    Primary in Tube             3                 NaN   \n",
       "108_V3    Primary in Tube             4                 NaN   \n",
       "109_V1    Primary in Tube             5                 NaN   \n",
       "\n",
       "         DiversigenCheckInSampleName BoxLocation SampleType  SampleSource  \\\n",
       "SampleID                                                                    \n",
       "204_V5                         204_S   Box 7, A1      Stool  Human Infant   \n",
       "226_V1                           NaN   Box 7, A2      Stool  Human Infant   \n",
       "107_V3                           NaN   Box 7, A3      Stool  Human Infant   \n",
       "108_V3                           NaN   Box 7, A4      Stool  Human Infant   \n",
       "109_V1                           NaN   Box 7, A5      Stool  Human Infant   \n",
       "\n",
       "         SequencingType  BabyN  BabyN_checked  ... VisitCodeTimeEquivalent  \\\n",
       "SampleID                                       ...                           \n",
       "204_V5            MetaG    204            NaN  ...                2 months   \n",
       "226_V1            MetaG    226            NaN  ...                1-6 days   \n",
       "107_V3            MetaG    107            NaN  ...                 2 weeks   \n",
       "108_V3            MetaG    108            NaN  ...                 2 weeks   \n",
       "109_V1            MetaG    109            NaN  ...                1-6 days   \n",
       "\n",
       "          VisitCode_or_TimeEquivalent_checked OutputFileName  Plate Row  \\\n",
       "SampleID                                                                  \n",
       "204_V5                                    NaN         204_V5      3   3   \n",
       "226_V1                                    NaN         226_V1      5   5   \n",
       "107_V3                                    NaN         107_V3      7   3   \n",
       "108_V3                                    NaN         108_V3      3   1   \n",
       "109_V1                                    NaN         109_V1      6   6   \n",
       "\n",
       "         Column  age_at_collection collection_method    Count  gt_2.5  \n",
       "SampleID                                                               \n",
       "204_V5        8               67.0              Home  3628514    True  \n",
       "226_V1        2                4.0            Clinic  3363490    True  \n",
       "107_V3        7               18.0              Home  3350273    True  \n",
       "108_V3        1               16.0              Home  5095831    True  \n",
       "109_V1       12                3.0              Home  4963525    True  \n",
       "\n",
       "[5 rows x 25 columns]"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "stool_metadata = pd.read_csv('../data/metadata/stool/stool_metadata.csv', index_col=0)\n",
    "stool_metadata.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "id": "228c71e3-dc70-472f-95f7-262279faf85e",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "709"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(stool_metadata)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "id": "8a38748c-1a0a-4c4f-b869-3f1a4fe78d90",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "stool_per_baby_no_zeroes = stool_metadata.groupby('BabyN').size()\n",
    "stool_per_baby_no_zeroes.index = ['Baby%s' % babyn for babyn in stool_per_baby_no_zeroes.index]\n",
    "babies_wo_stool = set(visits_per_baby.index) - set(stool_per_baby_no_zeroes.index)\n",
    "stool_per_baby = pd.concat([stool_per_baby_no_zeroes, pd.Series({baby: 0 for baby in babies_wo_stool})])\n",
    "_ = stool_per_baby.plot(kind='hist', bins=range(0, 30, 1))\n",
    "_ = plt.xlabel('Stool samples per baby')\n",
    "_ = plt.ylim(0, 15)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "id": "cc8e0cd3-cfec-4a26-b236-921c11aa2d56",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Babies who never gave stool: 5\n",
      "Median stool samples per baby: 7.0\n",
      "Max stool samples per baby: 29\n"
     ]
    }
   ],
   "source": [
    "print(\"Babies who never gave stool:\", (stool_per_baby == 0).sum())\n",
    "print(\"Median stool samples per baby:\", stool_per_baby.median())\n",
    "print(\"Max stool samples per baby:\", stool_per_baby.max())"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "42d2137e-7567-4cf1-8367-293f82860d5f",
   "metadata": {},
   "source": [
    "## Nasal sample numbers"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "id": "63a65065-eedc-4c11-bf3a-50ab9d0b9de8",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>SampleNumber</th>\n",
       "      <th>SampleID</th>\n",
       "      <th>SampleIDValidation</th>\n",
       "      <th>DiversigenCheckInSampleName</th>\n",
       "      <th>ReplacesLowVolumeSampleID</th>\n",
       "      <th>BoxLocation</th>\n",
       "      <th>SampleType</th>\n",
       "      <th>SampleSource</th>\n",
       "      <th>SequencingType</th>\n",
       "      <th>BabyN</th>\n",
       "      <th>...</th>\n",
       "      <th>DOB_checked</th>\n",
       "      <th>CollectionDate</th>\n",
       "      <th>CollectionDate_checked</th>\n",
       "      <th>VisitCode</th>\n",
       "      <th>VisitCode_checked</th>\n",
       "      <th>SwabCode</th>\n",
       "      <th>OutputFileName</th>\n",
       "      <th>Plate</th>\n",
       "      <th>Row</th>\n",
       "      <th>Column</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>SubmissionType</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Primary in Tube</th>\n",
       "      <td>1</td>\n",
       "      <td>103_V5_NS_A1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Box 1, A1</td>\n",
       "      <td>Nasal Swab</td>\n",
       "      <td>Human Infant</td>\n",
       "      <td>16S</td>\n",
       "      <td>103</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-04-27</td>\n",
       "      <td>NaN</td>\n",
       "      <td>V5</td>\n",
       "      <td>NaN</td>\n",
       "      <td>A1</td>\n",
       "      <td>103_V5_NS_A1</td>\n",
       "      <td>4</td>\n",
       "      <td>6</td>\n",
       "      <td>12</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Primary in Tube</th>\n",
       "      <td>2</td>\n",
       "      <td>106_V5_NS_A1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Box 1, A3</td>\n",
       "      <td>Nasal Swab</td>\n",
       "      <td>Human Infant</td>\n",
       "      <td>16S</td>\n",
       "      <td>106</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-05-29</td>\n",
       "      <td>NaN</td>\n",
       "      <td>V5</td>\n",
       "      <td>NaN</td>\n",
       "      <td>A1</td>\n",
       "      <td>106_V5_NS_A1</td>\n",
       "      <td>8</td>\n",
       "      <td>3</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Primary in Tube</th>\n",
       "      <td>3</td>\n",
       "      <td>107_V2_NS_A1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Box 1, A4</td>\n",
       "      <td>Nasal Swab</td>\n",
       "      <td>Human Infant</td>\n",
       "      <td>16S</td>\n",
       "      <td>107</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-04-09</td>\n",
       "      <td>NaN</td>\n",
       "      <td>V2</td>\n",
       "      <td>NaN</td>\n",
       "      <td>A1</td>\n",
       "      <td>107_V2_NS_A1</td>\n",
       "      <td>11</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Primary in Tube</th>\n",
       "      <td>4</td>\n",
       "      <td>107_V3_NS_A1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>107_V8_NS_A1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Box 1, A5</td>\n",
       "      <td>Nasal Swab</td>\n",
       "      <td>Human Infant</td>\n",
       "      <td>16S</td>\n",
       "      <td>107</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-04-20</td>\n",
       "      <td>NaN</td>\n",
       "      <td>V3</td>\n",
       "      <td>NaN</td>\n",
       "      <td>A1</td>\n",
       "      <td>107_V3_NS_A1</td>\n",
       "      <td>11</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Primary in Tube</th>\n",
       "      <td>5</td>\n",
       "      <td>107_V5_NS_A1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Box 1, A8</td>\n",
       "      <td>Nasal Swab</td>\n",
       "      <td>Human Infant</td>\n",
       "      <td>16S</td>\n",
       "      <td>107</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-06-04</td>\n",
       "      <td>NaN</td>\n",
       "      <td>V5</td>\n",
       "      <td>NaN</td>\n",
       "      <td>A1</td>\n",
       "      <td>107_V5_NS_A1</td>\n",
       "      <td>11</td>\n",
       "      <td>2</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 22 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                 SampleNumber      SampleID  SampleIDValidation  \\\n",
       "SubmissionType                                                    \n",
       "Primary in Tube             1  103_V5_NS_A1                 NaN   \n",
       "Primary in Tube             2  106_V5_NS_A1                 NaN   \n",
       "Primary in Tube             3  107_V2_NS_A1                 NaN   \n",
       "Primary in Tube             4  107_V3_NS_A1                 NaN   \n",
       "Primary in Tube             5  107_V5_NS_A1                 NaN   \n",
       "\n",
       "                DiversigenCheckInSampleName ReplacesLowVolumeSampleID  \\\n",
       "SubmissionType                                                          \n",
       "Primary in Tube                         NaN                       NaN   \n",
       "Primary in Tube                         NaN                       NaN   \n",
       "Primary in Tube                         NaN                       NaN   \n",
       "Primary in Tube                107_V8_NS_A1                       NaN   \n",
       "Primary in Tube                         NaN                       NaN   \n",
       "\n",
       "                BoxLocation  SampleType  SampleSource SequencingType  BabyN  \\\n",
       "SubmissionType                                                                \n",
       "Primary in Tube   Box 1, A1  Nasal Swab  Human Infant            16S    103   \n",
       "Primary in Tube   Box 1, A3  Nasal Swab  Human Infant            16S    106   \n",
       "Primary in Tube   Box 1, A4  Nasal Swab  Human Infant            16S    107   \n",
       "Primary in Tube   Box 1, A5  Nasal Swab  Human Infant            16S    107   \n",
       "Primary in Tube   Box 1, A8  Nasal Swab  Human Infant            16S    107   \n",
       "\n",
       "                 ...  DOB_checked CollectionDate  CollectionDate_checked  \\\n",
       "SubmissionType   ...                                                       \n",
       "Primary in Tube  ...          NaN     2018-04-27                     NaN   \n",
       "Primary in Tube  ...          NaN     2018-05-29                     NaN   \n",
       "Primary in Tube  ...          NaN     2018-04-09                     NaN   \n",
       "Primary in Tube  ...          NaN     2018-04-20                     NaN   \n",
       "Primary in Tube  ...          NaN     2018-06-04                     NaN   \n",
       "\n",
       "                VisitCode  VisitCode_checked SwabCode  OutputFileName Plate  \\\n",
       "SubmissionType                                                                \n",
       "Primary in Tube        V5                NaN       A1    103_V5_NS_A1     4   \n",
       "Primary in Tube        V5                NaN       A1    106_V5_NS_A1     8   \n",
       "Primary in Tube        V2                NaN       A1    107_V2_NS_A1    11   \n",
       "Primary in Tube        V3                NaN       A1    107_V3_NS_A1    11   \n",
       "Primary in Tube        V5                NaN       A1    107_V5_NS_A1    11   \n",
       "\n",
       "                Row  Column  \n",
       "SubmissionType               \n",
       "Primary in Tube   6      12  \n",
       "Primary in Tube   3       4  \n",
       "Primary in Tube   2       2  \n",
       "Primary in Tube   2       3  \n",
       "Primary in Tube   2       4  \n",
       "\n",
       "[5 rows x 22 columns]"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "nasal_metadata = pd.read_csv('../data/metadata/nasal/nasal_metadata.csv', index_col=0)\n",
    "nasal_metadata.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "id": "f7e246b4-1bdd-43f4-8629-8651135f5cad",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1008"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(nasal_metadata)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "id": "97874f95-122e-43eb-9026-42d7a66e1ad8",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/var/folders/6t/1w2t3qmd1rx81mfw9sq_tfpr0000gn/T/ipykernel_15892/1572658992.py:4: FutureWarning: The default dtype for empty Series will be 'object' instead of 'float64' in a future version. Specify a dtype explicitly to silence this warning.\n",
      "  nasal_per_baby = pd.concat([nasal_per_baby_no_zeroes, pd.Series({baby: 0 for baby in babies_wo_nasal})])\n"
     ]
    },
    {
     "data": {
      "image/png": "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xzYRERF64403tH37di1fvtzZLgEAANwuXxaWN2jQQB9//LFOnjypzz//PD+6BAAAyFP59um8+vXr64477tD69evzq0sAAIA8k6+3OPD399e5c+fys0sAAIA8kW8h6ujRozp8+LBKlSqVX10CAADkGacXlm/dujXb7UlJSTp69Ki++uorpaSkqGXLls52CQAA4HZOh6h+/frl6j5RhmGoWLFieumll5ztEgAAwO1c8t15hmFkuc1qtapMmTJq3LixBg4cqBo1ariiSwAAALdyOkRFRUW5og4AAIBChS8gBgAAMIEQBcCt/Hys7i4BAExx+nLeW2+95XQRFotF48ePd/o4AAAA+cXpELVy5UpJSvcJvb8uNM9qm8VikWEYhCgAkqS+w9coIcmW6/alivlq9rD2eVgRAGTN6RA1evRoRUVFacGCBfL29tZ9992nu+++W6VLl1ZCQoIOHjyo9evX6/r167rzzjt11113uaJuAB4oIcmmRAdCVIJP7tsCgKs5HaKaNWumjz76SHfccYc+++wzhYaGZmgzdOhQvfzyy9q3b58mTJigOnXqONstAACAWzm9sPzTTz9VfHy8pk6dmmmAkqSgoCB9+umnstlsmjJlirNdAgAAuJ3TIWrbtm2qVauWwsLCsm0XHByssLAw7dixw9kuAQAA3M7pEJWYmKiUlJRctb1x40a2dzcHAAAoLJwOUXfccYeOHDmiyMjIbNtt3bpVJ0+eZD0UAADwCE6HqM6dO8swDA0cOFC//fZbpm1++uknvfbaa7JYLOrdu7ezXQIAALid05/O6927t/773/9qz5496tevnypXrqywsDAFBgbq5s2bioqK0vnz52UYhh577DF17NjRFXUDAAC4ldMhytfXVzNnztTYsWP13XffKTo6WtHR0ena+Pv7q1+/fho0aJCz3QEAABQITocoSSpRooTGjRunIUOGaOPGjTp58qRu3Lih4sWLKywsTK1bt1aZMmVc0RUAAECB4JIQlSo4OFg9e/Z05SEBAAAKJJeGqJSUFEVGRuro0aO6fv26+vbtq+TkZJ07d05Vq1Z1ZVcAAABu5bIQ9c0332jq1Kk6f/68/bG+ffvqzJkz6tixozp06KAPP/xQ/v7+ruoSAADAbVwSoiZPnqxZs2bJMAx5eXnJy8tLNtvtLwY9d+6cbDabVq9erXPnzmnOnDny9nbpCTAAAIB85/R9on777TfNnDlT/v7+GjFihLZv364GDRrYtzdv3lwTJkxQQECAdu7cqa+//trZLgEAANzO6RA1f/58WSwWjR07Vj179lTx4sUztOnUqZMmTJggwzC0atUqZ7vMtcuXL2v8+PF6+OGHVb9+fTVr1kz9+/fX1q1b860GAADgmZwOUXv27FG5cuXUoUOHbNs99NBDqlChgg4fPuxsl7ly9OhRde7cWf/+97+VnJys1q1bq0qVKvrll1/Ur18/rVu3Ll/qAAAAnsnpEBUbG6vg4OBctQ0ODlZCQoKzXebo1q1bev311xUTE6OnnnpK69ev17Rp0/Tdd99p/PjxMgxD//znP5WYmJjntQAAAM/kdIgqXbq0Tp06lWM7wzB0+vTpfLnp5vr167V//341adJE7777rqxWq31bly5ddP/99ysoKEj79+/P81oAAIBncjpENW7cWNeuXdPq1auzbfftt9/qypUratSokbNd5mjNmjWSpP79+8tisWTYPnPmTP34449q2LBhntcCAAA8k9P3GnjyySe1bt06jRo1Sv7+/mrbtm267SkpKfrmm280ZswYWSyWfLmj+Z9//ilJatSoka5evaoffvhBUVFR8vb2VtOmTfXwww+nOzvlCoZh2G/r4Appj+XK43q6ojxurp7TRY2j88Vms8nLy8vUvkVZUX6NOoNxc1xOY2YYhtN9OB2imjVrpueee06zZs3SK6+8omLFiik5OVmS1L17dx0/flw3b96UYRh64okn1KpVK6eLzk5SUpKio6Pl7e2tAwcO6LXXXtOVK1fs2xcsWKC6detqxowZuV7LlRvx8fHas2ePy46X1t69e/PkuJ6uKI2bl5dXvpzl9WQRERFKSUnJdXtXjvnu3bsd6ttTFKXXqCsxbo7LqzFz+nKeJA0dOlQjRoxQUFCQbty4ocTERBmGoT///NP+RcRvvPGGRo0a5YrusnXjxg1JtxPmwIEDFRYWpm+++Ua7du3S4sWLVb9+fe3bt08vvfQSaR4AAJjmsluH9+zZU926ddPu3bt16NAhXb9+XQEBAapRo4aaNWumgIAAV3WVraSkJEm3T92FhIRo9uzZ8vHxkXT78t5XX32lDh06KDIyUuvWrcvx1gy5FRAQoPDwcJccS7pdf2pyrl+/Ppdqcolxg1lpbxKcG2n/COs7fI0Skhz7o8zf16r/jOxgqu/CjNeoOYyb43IaswMHDig+Pt6pPpwOUUOHDlVISIief/55FStWTPfcc4/uueceZw9rWtrv5uvVq5c9QKUqUaKEHnvsMf373//W1q1bXRaiLBZLnk1qq9XKC8YExg2OcGauJCTZlOhgiHJV34UZr1FzGDfHZTZmmX3wzFFOX877+eef9fXXX8vPz8/pYlyhRIkS8vX1lSSFhIRk2ib18bRrpQAAABzhdIhKSEhQpUqVCsyXClutVt15552SpPPnz2fa5uLFi5KkoKCgfKsLAAB4FqdDVPPmzXXo0CEdPXrUFfW4xAMPPCBJWrlyZYZthmHof//7n6TbtQMAAJjhdIj68MMPVb16dfXp00fTpk3Tr7/+qkOHDunUqVNZ/pfXevbsqZIlS2r79u2aNm2a/V4QhmFoypQp+vPPP1W1alU99NBDeV4LAADwTE5fg+vatauSk5MVGxur6dOn59jeYrFo3759znabrQoVKmjy5MkaNGiQpk6dqhUrVig8PFwHDx7UiRMnVKpUKX388cf2tVMAAACOcvpM1MWLFxUbGyvp9pmenP7LrxvK3X///Vq5cqW6du2qpKQkbdq0SUlJSerRo4e++eabIvWRYgAA4HpOn4nasGGDK+rIE3fccYfGjRvn7jIAAIAHcjpEValSxRV1AAAAFCoOXc67ceOG03f3BAAA8AQOhaimTZvq+eefz6taAAAACg2HF5an3i4gM0899ZTGjBnjVEEAAACFgUtvM759+/Z0X8oJAADgqZy+xQEAAEBRRIgCAAAwgRAFAABgAiEKAADABEIUAACACYQoAAAAExy+xcGlS5f03Xffmd4uSV26dHG0WwAAgALF4RB14sQJvfPOO5lus1gs2W5PbUOIAgAAhZ3DISq7O5bnx/4AAAAFgUMhKioqKq/qAAAAKFRYWA4AAGCCS787D8BtfYevUUJS7r9HslQxX80e1t7Uvn/dH3CEo/PN39eq/4zskIcVAYUHIQrIAwlJNiU68Ispwef/2zq671/3BxxhZr4BuI3LeQAAACYQogAAAEwgRAEAAJhAiAIAADCBEAUAAGACIQoAAMAEQhQAAIAJhCgAAAATCFEAAAAmEKIAAABMIEQBAACYQIgCAAAwgRAFAABgAiEKAADAhCIVol599VWFh4dr+fLl7i4FAAAUckUmRC1dulRr1651dxkAAMBDFIkQdezYMY0dO9bdZQAAAA/i8SEqKSlJb7zxhry8vFS3bl13lwMAADyEx4eoTz75RJGRkfrggw9UqVIld5cDAAA8hEeHqF9//VVfffWV/v73v6tz587uLgcAAHgQb3cXkFcuX76st956SxUrVtSIESPyvD/DMGSz2Vx2vLTHcuVxPZ3NZpO3t7f93/nNarXme59wDUfni81mc9nPu7DOVTN1895mDuPmuJzGzDAMp/vw2BD13nvv6dKlS5ozZ45KliyZ5/3Fx8drz549eXLsvXv35slx84qXl5caNWrklr6tVqvuvvtut/SNwi0iIkIpKSm5bu/Kee5o385yVe3O1l3Y3tsKCsbNcXk1Zh55OW/BggX66aef1L9/fzVv3tzd5QAAAA/kcWeiDh06pAkTJqhevXoaPHhwvvUbEBCg8PBwlx3PZrPZk3P9+vUL7WWivsPXKCEp96eeSxXz1exh7U3t6+z+ruwbhU+DBg0cau/KSyqO9l1QmKnbU97b8hvj5ricxuzAgQOKj493qg+PC1GTJk1SQkKC/P399c4776TbFhkZKUlasmSJfv31VzVr1kz/+Mc/XNKvxWLJs0lttVoL7QsmIcmmRAfCSILP/7d1dF9n93dl3yh83PkaK6yvb2frLszvbe7EuDkuszGzWCxOH9fjQlRcXJwkaefOndq5c2embXbv3q3du3fL29vbZSEKAAAULR4XoubPn5/ltoEDB2rDhg0aN26cunbtmo9VAQAAT+ORC8sBAADyGiEKAADABEIUAACACR63Jio7n332mbtLAAAAHoIzUQAAACYQogAAAEwgRAEAAJhAiAIAADCBEAUAAGACIQoAAMAEQhQAAIAJhCgAAAATCFEAAAAmEKIAAABMIEQBAACYQIgCAAAwgRAFAABgAiEKAADABEIUgCLLz8dqel+r1fy+zvYNoGAgRAEAAJjg7e4CkPf6Dl+jhCRbrtv7+1r1n5Ed8rAioOBx9HVSqpivZg9r75a+eY0CBQMhqghISLIp0YE3aKAocvR1kuDjutcUr1GgcOJyHgAAgAmEKAAAABMIUQAAACYQogAAAEwgRAEAAJhAiAIAADCBEAUAAGACIQoAAMAEQhQAAIAJhCgAAAATCFEAAAAmEKIAAABMIEQBAACYQIgCAAAwwdvdBeSlFStWaNmyZYqKilJ8fLzKli2rFi1aaMCAAQoNDXV3eQAAoBDzyDNRhmHojTfe0FtvvaVdu3YpNDRU999/v6xWq7777jt17dpVv/zyi7vLBAAAhZhHnolauXKlvv/+e5UvX16zZs1S7dq1JUk2m01TpkzRjBkz9NZbb2n9+vUqVqyYm6sFAACFkUeeiVq2bJkk6Y033rAHKEmyWq0aMmSI7rzzTl26dElbtmxxV4kAAKCQ88gQVbJkSYWGhqpp06YZtlksFtWoUUOSdP78+fwuDQAAeAiPvJw3ffr0LLfZbDZFRkZKkipVqpRfJQEAAA/jkSEqOwsXLlR0dLRKly6tli1buuy4hmHIZrO57Hhpj2X2uFar1aV15HffAHJW2N4fXPHeVhQxbo7LacwMw3C6jyIVorZu3aoJEyZIkoYOHerSReXx8fHas2ePy46X1t69ex3ex8vLS40aNXK674iICKWkpLilbwA5c+dr1EzfaZl5bwPjZkZejZlHronKzMaNG/Xiiy8qKSlJvXr1Uo8ePdxdEgAAKMSKxJmo+fPna9y4cbLZbOrTp4/ef/99l/cREBCg8PBwlx3PZrPZk3P9+vXddnmsQYMGbukXQO648zVqpu+C8t5W2DBujstpzA4cOKD4+Hin+vDoEHXr1i2NGjVKX3/9tSwWi1577TW9+OKLedKXxWLJs0lttVrd9oLhhQoUbO58jTrbtzvf2wozxs1xmY2ZxWJx+rgeG6ISEhL08ssv65dfflFAQIA++ugjPfLII+4uCwAAeAiPDFE2m80eoMqWLasZM2ZwWQoAALiUR4aozz//XL/88osCAwM1d+5c3Xnnne4uCQAAeBiPC1GxsbGaPXu2JKlChQr64osvsmz72GOPqXXr1vlVGgAA8CAeF6K2b9+uuLg4SdLx48d1/PjxLNvWqVOHEAUAAEzxuBDVrl07HThwwN1lAAAAD1dkbrYJAADgSoQoAAAAEwhRAAAAJhCiAAAATCBEAQAAmECIAgAAMIEQBQAAYAIhCgAAwARCFAAAgAmEKAAAABMIUQAAACYQogAAAEwgRAEAAJhAiAIAADCBEIUM/Hys7i4BQDZ4jQIFAyEKAADABG93F4CCre/wNUpIsjm0T6livpo9rH0eVQQgLV6jgPsQopCthCSbEh18g07wcaw9APN4jQLuw+U8AAAAEwhRAAAAJhCiAAAATCBEAQAAmECIAgAAMIEQBQAAYAIhCgAAwARCFAAAgAmEKAAAABMIUQAAACYQogAAAEwgRAEAAJhAiAIAADCBEAUAAGACIQoAAMAEb3cXkFeOHTum6dOna+fOnbp06ZIqVqyoDh066IUXXlBgYKC7ywMAAIWcR56JioiIUNeuXbVq1SqVK1dODzzwgOLi4jRjxgz17NlTN27ccHeJAACgkPO4EHXr1i29/vrriouL05gxY7R06VJNmTJFP/74ox588EEdOHBAH3/8sbvLBAAAhZzHhajVq1fr1KlTatmypbp3725/3N/fX2PHjlVgYKCWLFmi2NhYN1YJAAAKO48LUT/99JMkqV27dhm2lSlTRs2bN1dycrJ+/vnn/C4NAAB4EI9bWH7w4EFJUnh4eKbba9WqpY0bNyoqKkqPPvqoy/o1DEM2m81lx0s9lpeXl+njWq1WSZK/r9Wh/dK2d3RfZ/en76LVt7P707d7+zbz3mSz2eTl5WV6/6KKcXNc2nHKbMwMw3C6D4vhiqMUIE2aNNGNGzf0448/qmrVqhm2z5s3T2PGjFHnzp01YcIEp/vbs2dPnk5oPkkIACjq4uLi8uzYVqtVDRs2NLWvx52JSh1of3//TLenPu6qH0hKSopLjpOVvJw4AAAUdc78Hve4EGW1WpWSkiKLxZJtO1edgPPx8VFycrK8vLzk5+fnkmMCAIC8lZiYqJSUFPn4+Jg+hseFqGLFiunq1auKj4/PdHtCQoIkKSAgwCX91a9f3yXHAQAAhYvHfTqvQoUKkqQLFy5kuj0mJiZdOwAAADM8LkSlfirv8OHDmW5PfTyrT+8BAADkhseFqNatW0uS1q5dm2HblStXtG3bNvn4+Ojee+/N79IAAIAH8bgQ1a5dO1WuXFm//PKLFixYYH88ISFB7733nuLi4tS9e3eVK1fOjVUCAIDCzuPuEyVJ27Zt04ABA5SQkKB69eopJCREu3fvVkxMjOrWrav58+erePHi7i4TAAAUYh4ZoqTbdy6fNm2atm/frri4OIWEhOjhhx9W//79CVAAAMBpHhuiAAAA8pLHrYkCAADID4QoAAAAEwhRAAAAJhCiAAAATCBEAQAAmECIAgAAMIEQBQAAYAIhCgAAwARvdxeAjI4dO6bp06dr586dunTpkipWrKgOHTrohRdeUGBgoLvLK3COHTumRx55JNs2W7duVVBQUD5VVLAdP35cXbp0UdeuXfXBBx9k2ubXX3/VzJkzFRUVpYSEBNWsWVM9e/ZU9+7dZbFY8rnigiGncfv666+zHE9JuvPOO/X999/nZYkFxooVK7Rs2TJFRUUpPj5eZcuWVYsWLTRgwACFhoZmaM98u82RcWO+3bZmzRotWLBAkZGRMgxDVatWVceOHdWvXz/5+/tnaO/quUaIKmAiIiL09NNPKy4uTg0aNFD9+vW1a9cuzZgxQxs3btTChQv52pq/2LdvnySpVq1aqlOnTqZt/Pz88rOkAuvixYsaOHCg4uPjs2yzaNEijRgxQj4+PmrevLl8fHz022+/adiwYdq1a5fGjRuXjxUXDLkZt8jISElS8+bNVaFChQzbK1WqlGf1FRSGYWjo0KH6/vvv5e3trfr16ysoKEhRUVH67rvv9N///lfTp0/X3/72N/s+zDdz48Z8k6ZOnapp06bJarWqSZMmKl68uCIiIvTpp59q9erVWrBggUqVKmVvnydzzUCBkZycbLRt29YICwszli5dan88Pj7eePHFF42wsDBj5MiRbqywYProo4+MsLAwY/Hixe4upUDbt2+f0a5dOyMsLCzLuXT06FGjTp06RuPGjY3IyEj749HR0cZDDz1khIWFGWvWrMnPst0uN+NmGIbRtWtXIywszDh69Gg+V1hwfPfdd0ZYWJhx7733Gvv377c/fuvWLePjjz82wsLCjJYtWxo3btwwDIP5lsrRcTMM5tuOHTuMsLAwo2nTpunG7ObNm0b//v2NsLAwY8SIEfbH82qusSaqAFm9erVOnTqlli1bqnv37vbH/f39NXbsWAUGBmrJkiWKjY11Y5UFT+qZqPr167u5koIpNjZWEydO1BNPPKETJ04oJCQky7azZs2SzWZT//79VbduXfvjlStXtl86mDVrVp7XXBA4Mm7Jyck6ePCgSpQooerVq+dfkQXMsmXLJElvvPGGateubX/carVqyJAhuvPOO3Xp0iVt2bJFEvMtlaPjxnyTvv32W0nS888/n27MAgMD9eqrr0qSNm3aZH88r+YaIaoA+emnnyRJ7dq1y7CtTJkyat68uZKTk/Xzzz/nd2kF2r59++Tn56c777zT3aUUSPPmzdOsWbMUFBSkzz//XF26dMmy7caNGyVJ7du3z7CtVatWKlGihPbu3avz58/nVbkFhiPjdvjwYSUlJemuu+4qUmt4/qpkyZIKDQ1V06ZNM2yzWCyqUaOGJNnnD/PtNkfHjfkmjRw5Uj/88IN69uyZYZvNZpN0O4Smyqu5RogqQA4ePChJCg8Pz3R7rVq1JElRUVH5VlNBd+rUKV27dk3Vq1fXokWL1LVrVzVq1EjNmzfXwIEDFRER4e4S3a5ixYp6++23tXbtWj344INZtrt48aIuXbokHx8f1axZM8N2q9Vqf/zAgQN5Vm9Bkdtxk/5/fUpwcLDGjx+vRx55RA0aNFDr1q01fPhwjw8BqaZPn64ffvhBVatWzbDNZrPZx6lSpUrMtzQcGTeJ+SZJ3t7eCg0NVcmSJdM9fvbsWY0fP16S1LVrV0l5+97GwvICJCYmRtLtF0ZmUhcPpraD9Oeff0q6PfHHjx+vxo0bq0WLFoqKitKGDRu0efNmjRs3Tp06dXJzpe7To0ePXLVLnVflypWTl1fmf18VpTmY23GT/v+X2nfffafixYuradOmqlSpkiIjI7V48WKtX79eX331VZZ/IBUFCxcuVHR0tEqXLq2WLVvqxIkTkphvOfnruEnMt8x89NFH+uOPP/THH3/IYrHo2Wef1Ysvvigpb9/bCFEFSFxcnCRl+rHMtI+ntkP6T+Z99tlnuuOOOyRJKSkpmjlzpj7++GO99957uvvuu+3bkLmc5p/0/59yZA6mlzoPH374YY0dO9b+Cdrr16/rvffe09q1a/Xqq69q9erV8vYuem+7W7du1YQJEyRJQ4cOVbFixZhvuZDZuEnMt8x88803unbtmiTJ19dXFy5c0MWLF1WhQoU8nWtczitAUq/f5nSN2zCM/CinUBg8eLDWr1+v+fPnpwtJXl5eeuGFF9SmTRslJSVp0aJFbqyycEj9Cy03ayyYg+nNnTtX33//vSZNmpTuFiQlSpTQuHHjVKFCBR0/flz/+9//3File2zcuFEvvviikpKS1KtXL/sZPuZb9rIaN4n5lpmVK1fqjz/+0NKlS9W4cWOtWrVKvXr1UlxcXJ7ONUJUAZL6V0ZW96JJSEiQJAUEBORbTQWdt7e3qlWrluWNNNu2bStJ2rt3b36WVSilzr/UeZaZxMRESeKmr3/h7++vO++8U76+vhm2FStWTC1atJBU9Obh/Pnz9fLLLyshIUF9+vTR8OHD7duYb1nLbtwk5ltmKlWqJH9/fzVo0EAzZ85UWFiYTp8+rSVLluTpXCNEFSCp12QvXLiQ6fbUa7WZ3VgNmUtdiJndTRJxW+pavIsXL2b51xhz0JyiNg9v3bqlDz74QB9++KFSUlL02muv6YMPPkh3JoD5llFuxi03itp8+ytfX1916NBB0u1Ln3k51whRBUjqIsDDhw9nuj318aK0WDAnY8aM0SuvvKJDhw5luv3s2bOSbn/SCtkrXbq0goODlZSUZF/0m5bNZtPRo0clMQfTOn/+vN555x29+uqr9o9W/1VRmocJCQl64YUX9PXXXysgIECffvqpfYFvWsy39HI7bsy326ZMmaIhQ4bo3LlzmW5PPUt369atPJ1rhKgCpHXr1pKktWvXZth25coVbdu2TT4+Prr33nvzu7QCKzIyUuvXr9cPP/yQ6fYVK1ZIkh544IF8rKrwSp2D69aty7Bty5Ytun79umrXru3Rb86OKlGihFavXq21a9dq+/btGbZfvXpVGzdulMVi0f333++GCvOPzWbTyy+/rF9++UVly5bVvHnzsv1eS+bbbY6MG/Ptti1btmjNmjVavXp1pts3b94s6f9vwpxXc40QVYC0a9dOlStX1i+//KIFCxbYH09ISNB7772nuLg4de/eXeXKlXNjlQVLnz59JN2+0+xvv/1mf9xms2nChAnasWOHqlevrs6dO7urxEKlT58+slqt+uKLL7Rnzx7742fOnNHo0aMlSS+88IKbqiuYAgMD7TfiHDFihKKjo+3bYmNjNXjwYF2/fl2dOnXK9B41nuTzzz/XL7/8osDAQM2dO1cNGjTItj3z7TZHxo35dlvqe/+0adPS3Q8wOTlZkyZN0vbt21W2bFl169bN3j4v5prFKIofeyjAtm3bpgEDBighIUH16tVTSEiIdu/erZiYGNWtW1fz58/nC4j/Yvjw4Vq8eLEsFovuvvtuBQcH688//1R0dLTKly+vuXPnZvrN8UVV6pd29unTJ9Nvgf/yyy81efJkWa1W3XPPPfL399e2bdsUFxenHj166MMPP3RD1e6X3bjduHFD/fr1U0REhPz9/dW4cWP5+/trx44dun79upo0aaKZM2faF7h6otjYWD3wwAOKi4tT9erVs/0apscee8x+ZqCozzcz48Z8u+2DDz7Q119/LS8vLzVq1EglS5bU/v37de7cOZUuXVpffvml7r77bnv7vJhrReMGEoVI8+bNtXTpUk2bNk3bt2/X4cOHFRISou7du6t///4EqEyMHDlSLVq00MKFC7Vv3z7t27dPlSpVUr9+/TRgwIAsP7mHzA0YMEChoaGaM2eOIiIiZLFYFBoaql69eunxxx93d3kFUvHixbVgwQL7R8937twpq9WqGjVqqFOnTurTp498fHzcXWae2r59u/0eO8ePH9fx48ezbFunTh17iCrq883MuDHfbhs1apRatGihRYsWKTIyUklJSapcubKefvpp9e/fP8ONq/NirnEmCgAAwATWRAEAAJhAiAIAADCBEAUAAGACIQoAAMAEQhQAAIAJhCgAAAATCFEAAAAmEKIAAABMIEQBAACYQIgC0jh9+rTCw8MVHh6ut99+O8f227Zts7cvTNI+zxMnTri7nAJr+fLlCg8P1/333+/uUgq1tK+TW7du5Xl/U6dOVXh4uHr16pXnfaFoI0QBWfjuu++0ceNGd5cBACigCFFANt5//33Fxsa6uwwAQAFEiAKyYLFYdOHCBX344YfuLgUAUAARooAs9OnTR5K0cuVKbdiwwc3VAAAKGm93FwAUVE8++aSioqL0+++/a/jw4WrSpIlKly7t0DG2b9+upUuXavfu3bp48aJu3bqlMmXKqGHDhurdu7datmyZYZ8jR45o1qxZioiIUHR0tKxWq6pWrarWrVvrqaeeUtmyZTPsExMTowULFmjLli06efKkbt68qWLFiqlmzZpq3769evfuLX9/f7NDka+1nT59Wm3btlVwcLA2bdqkRYsWaenSpTp27JgCAgLUpEkTvf766woNDdXly5c1ffp0bdiwQRcvXlTZsmXVtm1bvfbaaypRooT9mNu2bdNTTz2l2rVra+nSpfrss8+0atUqxcTEqHz58mrVqpWef/553XHHHQ6Nx44dOzR//nzt2rVLV69eVcmSJdWwYUM9+eSTmf5sJWn16tVavny5jh49qgsXLqhEiRKqW7euOnfurEcffVReXrn723b58uV655131LZtW40fP16ffvqp1q9fr6tXr6pixYp68MEH1b9/f5UvXz7T/U+dOqXZs2dry5YtOnfunPz8/BQWFqbHH39cXbt2ldVqTdf+n//8p7799luNGDFCXl5e+vzzz3Xp0iVVqlRJo0ePVvPmzXNVd1JSkmbMmKGVK1fq7NmzKlOmjO69914NGDBANWrUyHQfM6+jVDExMfr000+1efNmXbt2TSEhIWrfvr369++vkiVL2tu9/vrrWr16tdq0aaMZM2ZkeqwVK1borbfeUs2aNbVmzZpcPV94NothGIa7iwAKitRf4JK0bt06WSwWderUSfHx8Xr00Uc1efLkdO1TfzlL0oEDB9Jtmzx5sr788ktJUlBQkCpVqqQbN24oOjra/gmlUaNG6R//+Id9n927d+vZZ59VXFycSpYsqZCQECUmJur48eOy2WwKDg7W119/rUqVKtn32bNnj55//nldu3ZNfn5+qlatmry9vXX69Gldv35dktS0aVPNmzfP/ovxr88zN+Ehv2srX768GjVqpHXr1ik4OFilS5fW0aNHlZycrFKlSumLL77Q4MGDdeHCBd1xxx1KSUmxf9KwUaNGWrRokSwWS7qfU61atVS+fHlt3bpV5cuXV4UKFXTkyBElJCSoePHimj59ulq0aGGvPzWoBAcH63//+1+68Zg0aZJmzpwpSSpVqpRCQkIUExOjCxcuSJKee+45vfnmm+n2GTdunObMmSNJqlKlisqUKaOYmBjFxMRIkjp37qwJEybk+LNIW1vz5s115coVHTx4UJUrV1bp0qV16NAhJScnq0KFCpo1a1aGT4+uX79eQ4cOVUJCgvz9/VW9enXFx8fbx69ly5aaPn26ihUrZt8nNUQ1btxYu3btUsWKFVWyZEmdPn1amzdvThdI/irt66RZs2basWOHypcvr+DgYB05ckTx8fHy8/PT9OnTdd9996Xb18zraOrUqZo2bZqqVaumxMREnT9/XtWrV5efn58OHTqklJQUValSRfPnz1eVKlUkSVu2bNGzzz4rHx8f/e9//1NQUFCG5/Hss89qy5YtGjp0qJ5//vlc/Zzg4QwAdqdOnTLCwsKMsLAw4/jx44ZhGMbcuXPtj61fvz5d+99++82+LbPHa9eubSxbtsyw2Wz2bWfPnjX69u1rhIWFGa1atUq3rUePHkZYWJgxevRoIzEx0f74yZMnjfbt2xthYWHG+++/b3/81q1bxkMPPWSEhYUZAwcONK5evWrflpSUZHzxxRf2+jZu3Jjt88yJO2qrW7eusXz5ciMlJcUwDMM4cOCAcffdd9vHtkuXLsaxY8fs+y5btsy+77Zt2zL8PMLCwozw8HDjq6++so/71atXjZdeeskICwszWrZsaVy7ds2+3zfffGOEhYUZ9913X7qxWLRokREWFmY0bdrUWLFihf3xlJQUY/Xq1UbDhg2NsLAwY8mSJfZthw8fNsLCwoz69esbv/32W7rjffvtt0bt2rWNsLAwY/fu3bn5cdhrCwsLM+666y5j1apV9m3nzp0z/vGPfxhhYWHG3//+dyM5Odm+bf/+/cZdd91lhIeHG5988omRkJBg3xYZGWn/WQ4dOjRdf2+//ba9v1GjRhm3bt0yDMMwLl26lGOtace/Tp06xn/+8x/7zzQ2NtZ45ZVXjLCwMOOee+5Jdzyzr6MpU6bY+2vRooWxY8cO+7ajR48aHTp0MMLCwozevXvbH7fZbEabNm2MsLAwY/78+Rmew7lz54zatWsbderUMc6fP5/jc0bRwJooIAdPPvmkmjVrJkkaPny4rly5kuM+P//8s3x9fdWuXTt169Yt3SWaihUravDgwZKkixcv6tKlS/ZtUVFRkqRu3brJ19fX/njVqlX19ttvq02bNva/nFPbX716Vb6+vvrwww9VqlQp+zYfHx8NGDBAVatWlSQdPHjQzNN3a23du3fX448/bj+jFBYWZj+DZhiG/vWvf6l69er29t26dbPXsG/fvkyP2a9fPz3zzDP2n0mpUqX0ySefKCQkRJcuXdKiRYuyHYekpCRNnTpVkjR27Fh16tTJvs1isahjx472M1BTp061ny1JPVNZo0aNDJe+unTpol69eunRRx9VUlJStv1n5u2339ajjz5q///g4GB99tlnKlGihA4dOqS1a9fat02dOlVJSUnq27evhgwZIj8/P/u2unXrasqUKbJarVq1apUOHz6coS8/Pz+98cYb9jOHmZ2xyc7zzz+vPn362H+mJUuW1OTJk1WtWjVdvXpVixcvtrc1+zpKa9KkSWratKn9/2vUqKFp06bJarXq999/1++//y5J8vLyUpcuXSTdvmz3VytWrFBKSoruu+8+VahQwaHnDM9FiAJyYLFYNHbsWAUEBOjixYsaPXp0jvsMHTpUERERmjhxYqbb064BSkhIsP879bLa8OHDtXXrViUnJ9u3Pfjgg5oxY4ZeeOEF+2P16tXTjh07tGPHDpUpUyZDP0lJSfbwEh8fn2Pd2XFHbQ888ECGx1JDUo0aNVStWrUM21N/wd24cSPTYz799NMZHvPz89Pjjz8uSTl+iCB1XU6xYsXsge6vOnXqJC8vL50/f94e5lLHLyoqSuPHj9fx48fT7fPBBx9o8uTJuueee7Lt/68CAwPVo0ePDI8HBQWpXbt26Z5TUlKS/bJk2vCXVnh4uGrXri3DMDK9T1rdunUVGBjoUI1ppX5gIy1fX1917txZkrR582b742ZfR6mqV6+ue++9N8PjNWvWtAertP117dpVFotFEREROnr0aLp9vvvuO3sbIBULy4FcqFatmt544w19+OGHWr16tR555BG1b98+230sFou8vLz0+++/6/Dhwzp16pROnjypAwcOpLtLeEpKiv3fb775pl566SX98ccfeuaZZxQYGKhmzZqpVatWeuCBB9KddUnL399fx48f159//qmTJ0/q1KlTOnz4sA4cOKDExMQM/ZjhjtrSrq9K5ePjIynrMyCp241MlntWqFBBFStWzHS/2rVrS1KGcPNXhw4dkiQlJydnGghSWa1WpaSk6OjRo2rQoIHq1aunxx57TKtWrdK///1v/fvf/1aVKlXUsmVL/e1vf9N9992n4sWLZ9t3ZsLDw9OdTfrrtrTP6fjx4/YzXSNHjkx3RjGtM2fOSFKGICEpy4XquZG6Di0zqeN/5MiRdI+beR2lqlevXpa1hIeHa9u2ben6CwkJUfPmzfXbb79pxYoVeu211yRJEREROnLkiEqXLq02bdrk/gnD4xGigFzq27ev1q5dqx07dmjEiBHpLhH8lWEYmjt3rmbPnm1fNCzd/oVQo0YNde7cOdNLBvfff7+WLVummTNnatOmTbp586Y2b96szZs3a9y4cWrSpIlGjRqlWrVq2ff5448/NGnSJG3fvj3dscqUKaPWrVtr3759On36tNPP3x21BQQEZLktt59iSyu7T1emnl1JXfCeldTtSUlJ2rVrV459Xrt2zf7viRMnqkWLFlq6dKn++OMPRUdHa9myZVq2bJn8/Pz0xBNP6K233soy3GQmu+eUujA8tYa0z+3PP//M8diZjUVWgS030i5Uz2pb2jNKZl9HZvuTbl8S/u2337Rq1SoNGTJEFovFfhbqsccec+hnA89HiAJyKfWyXqdOnXTp0iWNGjUqy+/mmj59un3dTMeOHXX//ferVq1aqlmzpooVK6bjx49n+eZfp04dffzxx0pOTtYff/yhbdu26ddff9WuXbu0c+dOPfPMM1q3bp0CAwN15MgRPfXUU0pISFCtWrXUrVs31a5dW6GhoQoODpYk9ezZ0yUhqqDXlhtxcXFZbksNDDmt8UkNdvXq1dPy5csd6t9isah79+7q3r27Ll++rG3btmn79u3avHmzoqOjNX/+fEnSsGHDcn3M3Dyn1FtPpL0Mt2vXrmxDRl64efNmlttSa037KT9nXkdS9mOTern3r58qfPjhhzV69GhFR0dr586datiwoVavXi3pdsAC0iJEAQ5Ie1lvzZo1mf7CTU5O1uzZsyVJL7/8sl599dUMbc6dO5fhMZvNptOnTysmJkbNmjWTj4+PmjZtqqZNm+rll1/Wrl271Lt3b124cEG//vqrHnroIc2dO1cJCQmqWbOmli1blumZm/Pnzzv9vAtybY44e/asbty4kells/3790tSujNpmUm9l9Hx48d169YteXtnfBs1DEPbtm1TxYoVVblyZfn6+urGjRs6fvy4AgMDVbNmTQUFBalDhw7q0KGDUlJSNGrUKC1atEgrVqxwKEQdOXJEhmHYF2pn95yqVq0qq9Uqm82mw4cP6+677870mBEREfLz81NISIhLg9bFixd17dq1TG+HEBkZKen2hwck86+jtDK7HJlVf6n8/PzUsWNHLV68WOvXr1dycrKuXr2qOnXqqE6dOtn2h6KHheWAg/r27Wtf/Ltw4cIM269cuWL/CzirNRlLly61/zv101uHDh1S+/bt9fTTT9vvNZRWo0aN7L/QUtd/REdHS5JCQ0MzDSlbtmyxr2+x2Wy5e4KZKMi1OcJms+nbb7/N8Hh8fLz9jMYjjzyS7TGaNWumEiVK6ObNm1meiVq1apWefvppdejQwf6LfsqUKerWrZvGjx+fob2Xl5f9hpGOjsXFixczXQAeExOjH3/8Md1zKl68uH3uzps3L9PjnTp1Sr1791anTp303//+16FacmIYRqZjduPGDfvP5cEHH5Rk/nWU1v79+zP9lGZkZKR2796drr+0unfvLun2/bRSF+WzoByZIUQBDkq9rBcYGJjp4uWgoCD7OpU5c+ak+wLjy5cva8SIEfr+++/tj6Wuyahdu7bCwsJks9n0+uuvp/srOykpSZ988olu3LihwMBA+3qs1LMiW7ZssX9UW7r9C+X777+3L4xN248ZBbk2R02ePFnr16+3///ly5f16quv6syZM6pRo0aOvywDAwM1YMAASdKYMWP0zTffpFvU/OOPP2r48OGSpA4dOtg/QdipUydZLBZt2rRJM2fOTPfpxjNnztjvkt26dWuHn9N7772XboxPnz6tl156SXFxcbrnnnv0t7/9zb5t0KBBslqt+v777zVu3Lh0l9gOHjyoAQMGKDk5WVWqVNFjjz3mcC05+fjjj9OFs0uXLmnQoEE6f/68qlatag8wZl9HaRmGoUGDBtlvzyHdvvXFK6+8IsMw1KFDB/uC9rTq16+v8PBwRUdH65tvvpGPj0+ejAUKPy7nASZUrVpVb7zxRqa3O/D29tbgwYM1cuRIbd++Xa1bt1b16tWVlJSkEydO6NatW6pbt67Onj2rK1eu6Ny5c/a/tD/55BP17NlT27dv10MPPaSQkBAFBATo9OnTunbtmqxWq0aNGmW/jPjss8/q+++/15UrV9SnTx9Vr15dxYoV0+nTpxUbG6vAwEA1atRIu3fvzvHSR04Kcm2OqFq1ql555RVVqVLFfnfvpKQkVa5cWVOmTMnVwuHnn39ep06d0pIlS/Tuu+9q4sSJCgkJ0fnz5+0LoBs3bpzuy6vvuusuDRkyRJ988okmTZqkL7/8UiEhIYqPj9epU6d069YtVatWTf/85z8dej4lSpSQn5+f+vTpoxo1asjf318HDx6UzWZT7dq1NXHixHSX+po0aaLRo0dr+PDhmjNnjhYvXqzQ0FDdvHlTJ06ckGEYKleunGbPnu3yRdRVqlRRUFCQBg8erMqVK6tMmTL28S9fvrymT59uX7flzOsoVYsWLRQVFaUuXbrYL2mmfrqycePG2d6upGvXrho3bpzi4uL08MMPZ3qbDoAzUYBJffr0yfKePr1799acOXN077332m94eOnSJd1999364IMPtGTJEvsZh7SXYmrVqqVvv/1WvXr1UpUqVXTmzBkdPnxYJUuWVLdu3bRixYp0fxFXrlxZK1euVK9evVS9enWdPXtWx44dU7ly5fTkk09q5cqVGjJkiKTbX72R3ULbnBTk2hwxf/589evXz74uqEqVKnrppZe0fPnyDOtjsmKxWDR69GjNnj1b7dq1k7e3t/bv36+bN2+qYcOGGjZsmObOnZvhfkovvviipk+frtatW8vX11cHDx7UhQsXVKdOHb3++utasWKFfdF9bgUGBmrp0qXq0aOHrl27puPHj6tWrVp68803tWjRokxv6ZD68/rHP/6h8uXL69ChQzp79qxCQ0P13HPPaeXKlVl+j50zfH19NXfuXD377LMyDEMHDx5U+fLl9fTTT2vlypUZvp7G7Oso1R133KGlS5fqkUce0YULF3Ty5EnVrl1b77zzjubOnZvu+xX/qlOnTvYbinIpD1nhu/MAeLy0390WGRmZ6WLwwia77/WD8w4cOKBOnTqpfPny2rx5c4YvZAYkzkQBAJBB6qL1bt26EaCQpcL/5xgAAC6wb98+lSpVSps2bdKiRYvk6+ur3r17u7ssFGCEKAAAJL322mvpvvbntddec3iNGooWQhQAAJLuuecexcTEqGTJkurTp4/9VhZAVlhYDgAAYAILywEAAEwgRAEAAJhAiAIAADCBEAUAAGACIQoAAMAEQhQAAIAJhCgAAAATCFEAAAAm/B+NNYGChq51QgAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "nasal_per_baby_no_zeroes = nasal_metadata.groupby('BabyN').size()\n",
    "nasal_per_baby_no_zeroes.index = ['Baby%s' % babyn for babyn in nasal_per_baby_no_zeroes.index]\n",
    "babies_wo_nasal = set(visits_per_baby.index) - set(nasal_per_baby_no_zeroes.index)\n",
    "nasal_per_baby = pd.concat([nasal_per_baby_no_zeroes, pd.Series({baby: 0 for baby in babies_wo_nasal})])\n",
    "_ = nasal_per_baby.plot(kind='hist', bins=range(0, 30, 1))\n",
    "_ = plt.xlabel('Nasal samples per baby')\n",
    "_ = plt.ylim(0, 15)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "id": "7ca6373f-517b-48a4-81ff-d61e268b457c",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Babies who never gave nasal: 0\n",
      "Median nasal samples per baby: 10.0\n",
      "Max nasal samples per baby: 18\n"
     ]
    }
   ],
   "source": [
    "print(\"Babies who never gave nasal:\", (nasal_per_baby == 0).sum())\n",
    "print(\"Median nasal samples per baby:\", nasal_per_baby.median())\n",
    "print(\"Max nasal samples per baby:\", nasal_per_baby.max())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "6debe45f-86f6-4080-b11e-90d1f0cdd46e",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.15"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
